Index: third_party/WebKit/Source/core/layout/LayoutBox.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
index 7be475bd7ae129ad8e1d459570defd90960c1736..464aa2775f1b570c3ff8dbf14ec791a4f63b1d77 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
@@ -4567,15 +4567,13 @@ static void markBoxForRelayoutAfterSplit(LayoutBox* box) |
box->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReason::AnonymousBlockChange); |
} |
-static void collapseLoneAnonymousBlockChild(LayoutObject* child) |
+static void collapseLoneAnonymousBlockChild(LayoutBox* parent, LayoutObject* child) |
{ |
- ASSERT(child); |
- if (!child->isAnonymousBlock()) |
+ if (!child->isAnonymousBlock() || !child->isLayoutBlockFlow()) |
return; |
- LayoutObject* parent = child->parent(); |
- if (!parent->isLayoutBlock()) |
+ if (!parent->isLayoutBlockFlow()) |
return; |
- LayoutBlock::collapseAnonymousBlockChild(toLayoutBlock(parent), toLayoutBlock(child)); |
+ toLayoutBlockFlow(parent)->collapseAnonymousBlockChild(toLayoutBlockFlow(child)); |
} |
LayoutObject* LayoutBox::splitAnonymousBoxesAroundChild(LayoutObject* beforeChild) |
@@ -4601,11 +4599,11 @@ LayoutObject* LayoutBox::splitAnonymousBoxesAroundChild(LayoutObject* beforeChil |
LayoutObject* child = postBox->slowFirstChild(); |
ASSERT(child); |
if (child && !child->nextSibling()) |
- collapseLoneAnonymousBlockChild(child); |
+ collapseLoneAnonymousBlockChild(postBox, child); |
child = boxToSplit->slowFirstChild(); |
ASSERT(child); |
if (child && !child->nextSibling()) |
- collapseLoneAnonymousBlockChild(child); |
+ collapseLoneAnonymousBlockChild(boxToSplit, child); |
markBoxForRelayoutAfterSplit(boxToSplit); |
markBoxForRelayoutAfterSplit(postBox); |