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 c32c6c3e22c69b550a061675f965e6477cd167b8..05c2ceeff1088e0c5fca8fad4a2d7d71378fda07 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
@@ -721,36 +721,18 @@ void LayoutBlock::removeChild(LayoutObject* oldChild) |
LayoutBlockFlow* nextBlock = toLayoutBlockFlow(next); |
LayoutBlockFlow* prevBlock = toLayoutBlockFlow(prev); |
- if (prev->childrenInline() != next->childrenInline()) { |
- LayoutBlock* inlineChildrenBlock = prev->childrenInline() ? prevBlock : nextBlock; |
- LayoutBlock* blockChildrenBlock = prev->childrenInline() ? nextBlock : prevBlock; |
- |
- // Place the inline children block inside of the block children block instead of deleting it. |
- ASSERT(!inlineChildrenBlock->continuation()); |
- bool inlineChildrenBlockHasLayer = inlineChildrenBlock->hasLayer(); |
- children()->removeChildNode(this, inlineChildrenBlock, inlineChildrenBlockHasLayer); |
- |
- // Now just put the inlineChildrenBlock inside the blockChildrenBlock. |
- blockChildrenBlock->children()->insertChildNode(blockChildrenBlock, inlineChildrenBlock, prev == inlineChildrenBlock ? blockChildrenBlock->firstChild() : 0, |
- inlineChildrenBlockHasLayer || blockChildrenBlock->hasLayer()); |
- next->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReason::AnonymousBlockChange); |
- |
- // inlineChildrenBlock got reparented to blockChildrenBlock, so it is no longer a child |
- // of "this". we null out prev or next so that is not used later in the function. |
- if (inlineChildrenBlock == prevBlock) |
- prev = nullptr; |
- else |
- next = nullptr; |
- } else { |
- // Take all the children out of the |next| block and put them in |
- // the |prev| block. |
- nextBlock->moveAllChildrenIncludingFloatsTo(prevBlock, nextBlock->hasLayer() || prevBlock->hasLayer()); |
- |
- // Delete the now-empty block's lines and nuke it. |
- nextBlock->deleteLineBoxTree(); |
- nextBlock->destroy(); |
- next = nullptr; |
- } |
+ // If the inlineness of children of the two block don't match, we'd need special code here |
+ // (but there should be no need for it). |
+ ASSERT(nextBlock->childrenInline() == prevBlock->childrenInline()); |
+ |
+ // Take all the children out of the |next| block and put them in |
+ // the |prev| block. |
+ nextBlock->moveAllChildrenIncludingFloatsTo(prevBlock, nextBlock->hasLayer() || prevBlock->hasLayer()); |
+ |
+ // Delete the now-empty block's lines and nuke it. |
+ nextBlock->deleteLineBoxTree(); |
+ nextBlock->destroy(); |
+ next = nullptr; |
} |
LayoutBox::removeChild(oldChild); |