Commit b9ff2f1d authored by Chris Harrelson's avatar Chris Harrelson Committed by Commit Bot

Don't mutate content layers for directy composited layers outside of lifecycle.

Bug: 957248

Change-Id: Iabd11d14ce835668b3c455c35ff5534189fb54b2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1638289Reviewed-by: default avatarStefan Zager <szager@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#665934}
parent b696b801
...@@ -2868,7 +2868,9 @@ bool CompositedLayerMapping::IsDirectlyCompositedImage() const { ...@@ -2868,7 +2868,9 @@ bool CompositedLayerMapping::IsDirectlyCompositedImage() const {
void CompositedLayerMapping::ContentChanged(ContentChangeType change_type) { void CompositedLayerMapping::ContentChanged(ContentChangeType change_type) {
if ((change_type == kImageChanged) && GetLayoutObject().IsImage() && if ((change_type == kImageChanged) && GetLayoutObject().IsImage() &&
IsDirectlyCompositedImage()) { IsDirectlyCompositedImage()) {
UpdateImageContents(); SetNeedsGraphicsLayerUpdate(kGraphicsLayerUpdateLocal);
Compositor()->SetNeedsCompositingUpdate(
kCompositingUpdateAfterGeometryChange);
return; return;
} }
...@@ -2880,6 +2882,9 @@ void CompositedLayerMapping::ContentChanged(ContentChangeType change_type) { ...@@ -2880,6 +2882,9 @@ void CompositedLayerMapping::ContentChanged(ContentChangeType change_type) {
} }
void CompositedLayerMapping::UpdateImageContents() { void CompositedLayerMapping::UpdateImageContents() {
DCHECK_EQ(owning_layer_.Compositor()->Lifecycle().GetState(),
DocumentLifecycle::kInCompositingUpdate);
DCHECK(GetLayoutObject().IsImage()); DCHECK(GetLayoutObject().IsImage());
LayoutImage& image_layout_object = ToLayoutImage(GetLayoutObject()); LayoutImage& image_layout_object = ToLayoutImage(GetLayoutObject());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment