Index: third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
index cacade76ccdec0aa563cb49b7fbbf187cd4f69bc..762eb058847fb854534bb050653e272e9898ba35 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
@@ -166,7 +166,7 @@ |
FloatStateForStyleChange::setWasFloating(this, isFloating()); |
if (const ComputedStyle* oldStyle = style()) { |
- if (parent() && diff.needsPaintInvalidationLayer()) { |
+ if (parent() && diff.needsPaintInvalidationSubtree()) { |
if (oldStyle->hasAutoClip() != newStyle.hasAutoClip() |
|| oldStyle->clip() != newStyle.clip()) |
layer()->clipper().clearClipRectsIncludingDescendants(); |
@@ -398,17 +398,14 @@ |
PaintInvalidationReason reason = invalidatePaintIfNeeded(newPaintInvalidationState); |
clearPaintInvalidationFlags(newPaintInvalidationState); |
- if (reason == PaintInvalidationDelayedFull) |
- paintInvalidationState.pushDelayedPaintInvalidationTarget(*this); |
- |
if (previousPosition != previousPositionFromPaintInvalidationBacking()) |
- newPaintInvalidationState.setForceSubtreeInvalidationWithinContainer(); |
+ newPaintInvalidationState.setForceSubtreeInvalidationCheckingWithinContainer(); |
// TODO(wangxianzhu): Combine this function into LayoutObject::invalidateTreeIfNeeded() when removing the following workarounds. |
// TODO(wangxianzhu): This is a workaround for crbug.com/533277. Will remove when we enable paint offset caching. |
if (reason != PaintInvalidationNone && hasPercentageTransform(styleRef())) |
- newPaintInvalidationState.setForceSubtreeInvalidationWithinContainer(); |
+ newPaintInvalidationState.setForceSubtreeInvalidationCheckingWithinContainer(); |
// TODO(wangxianzhu): This is a workaround for crbug.com/490725. We don't have enough saved information to do accurate check |
// of clipping change. Will remove when we remove rect-based paint invalidation. |
@@ -418,7 +415,7 @@ |
&& hasOverflowClip()) |
newPaintInvalidationState.setForceSubtreeInvalidationRectUpdateWithinContainer(); |
- newPaintInvalidationState.updateForChildren(); |
+ newPaintInvalidationState.updateForChildren(reason); |
invalidatePaintOfSubtreesIfNeeded(newPaintInvalidationState); |
} |