Index: Source/core/rendering/RenderBlock.cpp |
diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp |
index e500831f7515f4f71dc455f70006eede52b534cb..504ee233abcdfa9ec66e65cc4a27b7eabbafeb95 100644 |
--- a/Source/core/rendering/RenderBlock.cpp |
+++ b/Source/core/rendering/RenderBlock.cpp |
@@ -1731,7 +1731,7 @@ LayoutUnit RenderBlock::marginIntrinsicLogicalWidthForChild(RenderBox* child) co |
return margin; |
} |
-void RenderBlock::layoutPositionedObjects(bool relayoutChildren, bool fixedPositionObjectsOnly) |
+void RenderBlock::layoutPositionedObjects(bool relayoutChildren, bool fixedPositionObjectsOnly, bool parentMoved) |
Julien - ping for review
2014/03/07 00:01:10
s/parent/containingBlock/ (positioned object is th
dsinclair
2014/03/07 03:18:56
Done.
|
{ |
TrackedRendererListHashSet* positionedDescendants = positionedObjects(); |
if (!positionedDescendants) |
@@ -1786,6 +1786,9 @@ void RenderBlock::layoutPositionedObjects(bool relayoutChildren, bool fixedPosit |
oldLogicalTop = logicalTopForChild(r); |
} |
+ if (parentMoved) |
+ r->setNeedsLayout(); |
Julien - ping for review
2014/03/07 00:01:10
Is this guaranteed to work? We only ensure that th
dsinclair
2014/03/07 03:18:56
I don't know? This seemed to work for the test cas
Julien - ping for review
2014/03/08 01:26:53
The whole positioned hierarchy is shifted in this
dsinclair
2014/03/10 00:22:51
Done.
crbug.com/350756 I didn't mark the bug as
|
+ |
r->layoutIfNeeded(); |
// Lay out again if our estimate was wrong. |