Changeset 228391 in webkit


Ignore:
Timestamp:
Feb 12, 2018 1:49:51 PM (6 years ago)
Author:
Alan Bujtas
Message:

[RenderTreeBuilder] Move RenderBlock::dropAnonymousBoxChild to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182704
<rdar://problem/37469469>

Reviewed by Antti Koivisto.

All the callsites are now in RenderTreeBuilder.

No change in functionality.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::dropAnonymousBoxChild): Deleted.

  • rendering/RenderBlock.h:
  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::removeAnonymousWrappersForInlineChildrenIfNeeded):
(WebCore::RenderTreeBuilder::dropAnonymousBoxChild):

  • rendering/updating/RenderTreeBuilder.h:
  • rendering/updating/RenderTreeBuilderBlock.cpp:

(WebCore::RenderTreeBuilder::Block::takeChild):
(WebCore::RenderTreeBuilder::Block::dropAnonymousBoxChild):

  • rendering/updating/RenderTreeBuilderBlock.h:
Location:
trunk/Source/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r228390 r228391  
     12018-02-12  Zalan Bujtas  <zalan@apple.com>
     2
     3        [RenderTreeBuilder] Move RenderBlock::dropAnonymousBoxChild to RenderTreeBuilder
     4        https://bugs.webkit.org/show_bug.cgi?id=182704
     5        <rdar://problem/37469469>
     6
     7        Reviewed by Antti Koivisto.
     8
     9        All the callsites are now in RenderTreeBuilder.
     10
     11        No change in functionality.
     12
     13        * rendering/RenderBlock.cpp:
     14        (WebCore::RenderBlock::dropAnonymousBoxChild): Deleted.
     15        * rendering/RenderBlock.h:
     16        * rendering/updating/RenderTreeBuilder.cpp:
     17        (WebCore::RenderTreeBuilder::removeAnonymousWrappersForInlineChildrenIfNeeded):
     18        (WebCore::RenderTreeBuilder::dropAnonymousBoxChild):
     19        * rendering/updating/RenderTreeBuilder.h:
     20        * rendering/updating/RenderTreeBuilderBlock.cpp:
     21        (WebCore::RenderTreeBuilder::Block::takeChild):
     22        (WebCore::RenderTreeBuilder::Block::dropAnonymousBoxChild):
     23        * rendering/updating/RenderTreeBuilderBlock.h:
     24
    1252018-02-12  Matt Lewis  <jlewis3@apple.com>
    226
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r228365 r228391  
    483483}
    484484
    485 void RenderBlock::dropAnonymousBoxChild(RenderTreeBuilder& builder, RenderBlock& child)
    486 {
    487     setNeedsLayoutAndPrefWidthsRecalc();
    488     setChildrenInline(child.childrenInline());
    489     RenderObject* nextSibling = child.nextSibling();
    490 
    491     auto toBeDeleted = takeChildInternal(child);
    492     child.moveAllChildrenTo(builder, this, nextSibling, RenderBoxModelObject::NormalizeAfterInsertion::No);
    493     // Delete the now-empty block's lines and nuke it.
    494     child.deleteLines();
    495 }
    496 
    497485RenderPtr<RenderObject> RenderBlock::takeChild(RenderTreeBuilder& builder, RenderObject& oldChild)
    498486{
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r228365 r228391  
    192192    static RenderPtr<RenderBlock> createAnonymousWithParentRendererAndDisplay(const RenderBox& parent, EDisplay = BLOCK);
    193193    RenderPtr<RenderBlock> createAnonymousBlock(EDisplay = BLOCK) const;
    194     void dropAnonymousBoxChild(RenderTreeBuilder&, RenderBlock& child);
    195194
    196195    RenderPtr<RenderBox> createAnonymousBoxWithSameTypeAs(const RenderBox&) const override;
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp

    r228365 r228391  
    343343        next = current->nextSibling();
    344344        if (current->isAnonymousBlock())
    345             blockParent.dropAnonymousBoxChild(*this, downcast<RenderBlock>(*current));
     345            blockBuilder().dropAnonymousBoxChild(blockParent, downcast<RenderBlock>(*current));
    346346    }
    347347}
     
    406406    // WARNING: child is deleted here.
    407407}
     408
     409void RenderTreeBuilder::dropAnonymousBoxChild(RenderBlock& parent, RenderBlock& child)
     410{
     411    blockBuilder().dropAnonymousBoxChild(parent, child);
     412}
     413
    408414void RenderTreeBuilder::multiColumnRelativeWillBeRemoved(RenderMultiColumnFlow& flow, RenderObject& relative)
    409415{
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h

    r228365 r228391  
    8989    void multiColumnDescendantInserted(RenderMultiColumnFlow&, RenderObject& newDescendant);
    9090    void multiColumnRelativeWillBeRemoved(RenderMultiColumnFlow&, RenderObject& relative);
     91    void dropAnonymousBoxChild(RenderBlock& parent, RenderBlock& child);
    9192
    9293private:
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp

    r228365 r228391  
    326326        // The removal has knocked us down to containing only a single anonymous
    327327        // box. We can pull the content right back up into our box.
    328         parent.dropAnonymousBoxChild(m_builder, downcast<RenderBlock>(*child));
     328        dropAnonymousBoxChild(parent, downcast<RenderBlock>(*child));
    329329    } else if (((prev && prev->isAnonymousBlock()) || (next && next->isAnonymousBlock())) && parent.canDropAnonymousBlockChild()) {
    330330        // It's possible that the removal has knocked us down to a single anonymous
     
    342342            }
    343343            if (dropAnonymousBlock)
    344                 parent.dropAnonymousBoxChild(m_builder, anonBlock);
     344                dropAnonymousBoxChild(parent, anonBlock);
    345345        }
    346346    }
     
    354354}
    355355
    356 }
     356void RenderTreeBuilder::Block::dropAnonymousBoxChild(RenderBlock& parent, RenderBlock& child)
     357{
     358    parent.setNeedsLayoutAndPrefWidthsRecalc();
     359    parent.setChildrenInline(child.childrenInline());
     360    auto* nextSibling = child.nextSibling();
     361
     362    auto toBeDeleted = parent.takeChildInternal(child);
     363    child.moveAllChildrenTo(m_builder, &parent, nextSibling, RenderBoxModelObject::NormalizeAfterInsertion::No);
     364    // Delete the now-empty block's lines and nuke it.
     365    child.deleteLines();
     366}
     367
     368}
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.h

    r228365 r228391  
    3939    RenderPtr<RenderObject> takeChild(RenderBlock& parent, RenderObject& oldChild);
    4040
     41    void dropAnonymousBoxChild(RenderBlock& parent, RenderBlock& child);
    4142    void childBecameNonInline(RenderBlock& parent, RenderElement& child);
    4243
Note: See TracChangeset for help on using the changeset viewer.