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 12ce17b0c319397192da806f712b687abaec559a..ba4acad492869c8797857c75bf02ce3f29c3ef6a 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
@@ -394,13 +394,14 @@ void LayoutBoxModelObject::invalidateTreeIfNeeded(const PaintInvalidationState& |
return; |
LayoutRect previousPaintInvalidationRect = this->previousPaintInvalidationRect(); |
+ LayoutPoint previousPosition = previousPositionFromPaintInvalidationBacking(); |
PaintInvalidationReason reason = invalidatePaintIfNeeded(newPaintInvalidationState); |
clearPaintInvalidationFlags(newPaintInvalidationState); |
if (reason == PaintInvalidationDelayedFull) |
paintInvalidationState.pushDelayedPaintInvalidationTarget(*this); |
- if (reason == PaintInvalidationLocationChange) |
+ if (previousPosition != previousPositionFromPaintInvalidationBacking()) |
newPaintInvalidationState.setForceSubtreeInvalidationWithinContainer(); |
// TODO(wangxianzhu): Combine this function into LayoutObject::invalidateTreeIfNeeded() when removing the following workarounds. |