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 78d02a87c11a1c59fab1f61efe381b2dd8aebd62..0be7f6ddb2d6f4f08fbf3e46c5b46cadf2058f30 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp |
@@ -2824,7 +2824,8 @@ void LayoutObject::destroyAndCleanupAnonymousWrappers() |
} |
LayoutObject* destroyRoot = this; |
- for (LayoutObject* destroyRootParent = destroyRoot->parent(); destroyRootParent && destroyRootParent->isAnonymous(); destroyRoot = destroyRootParent, destroyRootParent = destroyRootParent->parent()) { |
+ for (LayoutObject* destroyRootParent = destroyRoot->parent(); destroyRootParent && destroyRootParent->isAnonymous() && !destroyRootParent->parent()->createsAnonymousWrapper(); destroyRoot = destroyRootParent, destroyRootParent = destroyRootParent->parent()) { |
+ |
// Anonymous block continuations are tracked and destroyed elsewhere (see the bottom of LayoutBlock::removeChild) |
if (destroyRootParent->isLayoutBlockFlow() && toLayoutBlockFlow(destroyRootParent)->isAnonymousBlockContinuation()) |
break; |