Index: Source/core/rendering/RenderBlockFlow.cpp |
diff --git a/Source/core/rendering/RenderBlockFlow.cpp b/Source/core/rendering/RenderBlockFlow.cpp |
index a3680c646ad3c39a3adc989283b232dc7b469822..2798e4d6afe037e71d3c2df59a298ee92e77334e 100644 |
--- a/Source/core/rendering/RenderBlockFlow.cpp |
+++ b/Source/core/rendering/RenderBlockFlow.cpp |
@@ -309,6 +309,7 @@ inline bool RenderBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit & |
{ |
LayoutRepainter repainter(*this, checkForRepaintDuringLayout()); |
+ LayoutUnit oldLeft = logicalLeft(); |
if (updateLogicalWidthAndColumnWidth()) |
relayoutChildren = true; |
@@ -425,7 +426,7 @@ inline bool RenderBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit & |
if (heightChanged) |
relayoutChildren = true; |
- layoutPositionedObjects(relayoutChildren || isRoot()); |
+ layoutPositionedObjects(relayoutChildren || isRoot(), oldLeft != logicalLeft() ? ForcedLayoutAfterContainingBlockMoved : DefaultLayout); |
updateRegionsAndShapesAfterChildLayout(flowThread, heightChanged); |