Chromium Code Reviews| 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. |