| 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 64deb6b694a61cacae88910ea5c607abc3da429a..0cea0eb22dae2576fade4e41ee74a0fa4bd7d5a5 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
|
| @@ -375,26 +375,6 @@
|
| invalidateDisplayItemClientForStartOfContinuationsIfNeeded(*this);
|
| }
|
|
|
| -static void addNextFloatingOrOutOfFlowSiblingsToBlock(LayoutBlock* block, LayoutBlock* container)
|
| -{
|
| - LayoutObject* child = block->nextSibling();
|
| - while (child && child->isFloatingOrOutOfFlowPositioned()) {
|
| - LayoutObject* sibling = child->nextSibling();
|
| - container->moveChildTo(block, child, nullptr, false);
|
| - child = sibling;
|
| - }
|
| -}
|
| -
|
| -static void addPreviousFloatingOrOutOfFlowSiblingsToBlock(LayoutBlock* block, LayoutBlock* container)
|
| -{
|
| - LayoutObject* child = block->previousSibling();
|
| - while (child && child->isFloatingOrOutOfFlowPositioned()) {
|
| - LayoutObject* sibling = child->previousSibling();
|
| - container->moveChildTo(block, child, block->firstChild(), false);
|
| - child = sibling;
|
| - }
|
| -}
|
| -
|
| void LayoutBlock::addChildIgnoringContinuation(LayoutObject* newChild, LayoutObject* beforeChild)
|
| {
|
| if (beforeChild && beforeChild->parent() != this) {
|
| @@ -469,9 +449,19 @@
|
| LayoutBlock* newBox = createAnonymousBlock();
|
| LayoutBox::addChild(newBox, beforeChild);
|
| // Reparent adjacent floating or out-of-flow siblings to the new box.
|
| - addPreviousFloatingOrOutOfFlowSiblingsToBlock(newBox, this);
|
| + LayoutObject* child = newBox->previousSibling();
|
| + while (child && child->isFloatingOrOutOfFlowPositioned()) {
|
| + LayoutObject* sibling = child->previousSibling();
|
| + moveChildTo(newBox, child, newBox->firstChild(), false);
|
| + child = sibling;
|
| + }
|
| newBox->addChild(newChild);
|
| - addNextFloatingOrOutOfFlowSiblingsToBlock(newBox, this);
|
| + child = newBox->nextSibling();
|
| + while (child && child->isFloatingOrOutOfFlowPositioned()) {
|
| + LayoutObject* sibling = child->nextSibling();
|
| + moveChildTo(newBox, child, nullptr, false);
|
| + child = sibling;
|
| + }
|
| return;
|
| }
|
| }
|
| @@ -738,13 +728,6 @@
|
| && (!anonymousBlock->previousSibling() || (anonymousBlock->previousSibling()->style()->styleType() != NOPSEUDO && anonymousBlock->previousSibling()->isFloating() && !anonymousBlock->previousSibling()->previousSibling()))
|
| && (!anonymousBlock->nextSibling() || (anonymousBlock->nextSibling()->style()->styleType() != NOPSEUDO && anonymousBlock->nextSibling()->isFloating() && !anonymousBlock->nextSibling()->nextSibling()))) {
|
| collapseAnonymousBlockChild(this, anonymousBlock);
|
| - } else {
|
| - // If we have floating or out-of-flow siblings now adjacent to an anonymous block, fold them
|
| - // into it.
|
| - if (prev && prev->isAnonymousBlock())
|
| - addNextFloatingOrOutOfFlowSiblingsToBlock(toLayoutBlock(prev), this);
|
| - else if (next && next->isAnonymousBlock())
|
| - addPreviousFloatingOrOutOfFlowSiblingsToBlock(toLayoutBlock(next), this);
|
| }
|
| }
|
|
|
|
|