| Index: third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.cpp b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| index 806001ed1fb5e597d20b9b7eeb735733d5305f19..7ac46d51c2f2464ed6d3c5f85eabab83e0031563 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| @@ -798,15 +798,11 @@ void LayoutObject::markContainerChainForLayout(bool scheduleRelayout, SubtreeLay
|
| if (!container && !object->isLayoutView())
|
| return;
|
| if (!last->isTextOrSVGChild() && last->style()->hasOutOfFlowPosition()) {
|
| - bool willSkipRelativelyPositionedInlines = !object->isLayoutBlock() || object->isAnonymousBlock();
|
| - // Skip relatively positioned inlines and anonymous blocks to get to the enclosing LayoutBlock.
|
| - while (object && (!object->isLayoutBlock() || object->isAnonymousBlock()))
|
| - object = object->container();
|
| - if (!object || object->posChildNeedsLayout())
|
| + LayoutBlock* containingBlock = last->containingBlock();
|
| + if (containingBlock->posChildNeedsLayout())
|
| return;
|
| - if (willSkipRelativelyPositionedInlines)
|
| - container = object->container();
|
| - object->setPosChildNeedsLayout(true);
|
| + container = containingBlock->container();
|
| + containingBlock->setPosChildNeedsLayout(true);
|
| simplifiedNormalFlowLayout = true;
|
| ASSERT(!object->isSetNeedsLayoutForbidden());
|
| } else if (simplifiedNormalFlowLayout) {
|
|
|