| Index: third_party/WebKit/Source/core/layout/LayoutBlock.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
|
| index 860274f46a39d989823c745a4d2850ce83358c18..874b798ef5d162c3e150e181eca1dedc25d8175d 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
|
| @@ -202,8 +202,15 @@ void LayoutBlock::styleDidChange(StyleDifference diff, const ComputedStyle* oldS
|
| // block's list during layout. However the positioned descendant layout logic assumes
|
| // layout objects to obey parent-child order in the list. Remove our descendants here
|
| // so they will be re-inserted after us.
|
| - if (LayoutBlock* cb = containingBlock())
|
| + if (LayoutBlock* cb = containingBlock()) {
|
| cb->removePositionedObjects(this, NewContainingBlock);
|
| + if (isOutOfFlowPositioned()) {
|
| + // Insert this object into containing block's positioned descendants list
|
| + // in case the parent won't layout. This is needed especially there are
|
| + // descendants scheduled for overflow recalc.
|
| + cb->insertPositionedObject(this);
|
| + }
|
| + }
|
| }
|
| }
|
|
|
|
|