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) { |