Index: Source/core/rendering/RenderBlockFlow.cpp |
diff --git a/Source/core/rendering/RenderBlockFlow.cpp b/Source/core/rendering/RenderBlockFlow.cpp |
index 4dd98bc707e795b67392f58c9867e7e6afd3cff3..f340887cad6d048b4168b7872d6093b3356646a3 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); |