Index: Source/core/rendering/RenderInline.cpp |
diff --git a/Source/core/rendering/RenderInline.cpp b/Source/core/rendering/RenderInline.cpp |
index fecd69b12c9f4c65fb51a74086a5147c4ef4dffe..2ae0f8a2a1c265d1040a4e886c13066e3bdfc79a 100644 |
--- a/Source/core/rendering/RenderInline.cpp |
+++ b/Source/core/rendering/RenderInline.cpp |
@@ -1565,6 +1565,14 @@ void RenderInline::invalidateTreeIfNeeded(const PaintInvalidationState& paintInv |
bool establishesNewPaintInvalidationContainer = isPaintInvalidationContainer(); |
const RenderLayerModelObject& newPaintInvalidationContainer = *adjustCompositedContainerForSpecialAncestors(establishesNewPaintInvalidationContainer ? this : &paintInvalidationState.paintInvalidationContainer()); |
PaintInvalidationState childPaintInvalidationState(paintInvalidationState, *this, newPaintInvalidationContainer); |
+ |
+ if (isRelPositioned()) { |
+ const LayoutPoint oldPosition = previousPositionFromPaintInvalidationContainer(); |
+ const LayoutPoint newPosition = RenderLayer::positionFromPaintInvalidationContainer(this, &newPaintInvalidationContainer, &paintInvalidationState); |
+ if (oldPosition != newPosition) |
+ childPaintInvalidationState.setForceCheckForPaintInvalidation(); |
+ } |
+ |
RenderObject::invalidateTreeIfNeeded(childPaintInvalidationState); |
} |