Changeset 228441 in webkit


Ignore:
Timestamp:
Feb 13, 2018 3:34:49 PM (6 years ago)
Author:
Alan Bujtas
Message:

[RenderTreeBuilder] Move RenderBlock::takeChild() to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182746
<rdar://problem/37512871>

Reviewed by Antti Koivisto.

No change in functionality.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::takeChild): Deleted.

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

(WebCore::RenderTreeBuilder::takeChild):
(WebCore::RenderTreeBuilder::takeChildFromRenderMenuList):
(WebCore::RenderTreeBuilder::takeChildFromRenderButton):
(WebCore::RenderTreeBuilder::takeChildFromRenderGrid):
(WebCore::RenderTreeBuilder::takeChildFromRenderBlock): Deleted.

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

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

Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r228440 r228441  
     12018-02-13  Zalan Bujtas  <zalan@apple.com>
     2
     3        [RenderTreeBuilder] Move RenderBlock::takeChild() to RenderTreeBuilder
     4        https://bugs.webkit.org/show_bug.cgi?id=182746
     5        <rdar://problem/37512871>
     6
     7        Reviewed by Antti Koivisto.
     8
     9        No change in functionality.
     10
     11        * rendering/RenderBlock.cpp:
     12        (WebCore::RenderBlock::takeChild): Deleted.
     13        * rendering/RenderBlock.h:
     14        * rendering/updating/RenderTreeBuilder.cpp:
     15        (WebCore::RenderTreeBuilder::takeChild):
     16        (WebCore::RenderTreeBuilder::takeChildFromRenderMenuList):
     17        (WebCore::RenderTreeBuilder::takeChildFromRenderButton):
     18        (WebCore::RenderTreeBuilder::takeChildFromRenderGrid):
     19        (WebCore::RenderTreeBuilder::takeChildFromRenderBlock): Deleted.
     20        * rendering/updating/RenderTreeBuilder.h:
     21        * rendering/updating/RenderTreeBuilderBlock.cpp:
     22        (WebCore::RenderTreeBuilder::Block::takeChild):
     23
    1242018-02-13  Antoine Quint  <graouts@apple.com>
    225
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r228391 r228441  
    483483}
    484484
    485 RenderPtr<RenderObject> RenderBlock::takeChild(RenderTreeBuilder& builder, RenderObject& oldChild)
    486 {
    487     return builder.takeChildFromRenderBlock(*this, oldChild);
    488 }
    489 
    490485bool RenderBlock::childrenPreventSelfCollapsing() const
    491486{
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r228391 r228441  
    7575
    7676    void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> newChild, RenderObject* beforeChild = 0) override;
    77     RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) override;
    7877
    7978    virtual void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0);
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp

    r228432 r228441  
    228228        return blockBuilder().takeChild(downcast<RenderBlockFlow>(parent), child);
    229229
     230    if (is<RenderBlock>(parent))
     231        return blockBuilder().takeChild(downcast<RenderBlock>(parent), child);
     232
    230233    return parent.takeChild(*this, child);
    231234}
     
    515518}
    516519
    517 RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderBlock(RenderBlock& parent, RenderObject& oldChild)
    518 {
    519     return blockBuilder().takeChild(parent, oldChild);
    520 }
    521 
    522520void RenderTreeBuilder::updateAfterDescendants(RenderElement& renderer)
    523521{
     
    539537    auto* innerRenderer = parent.innerRenderer();
    540538    if (!innerRenderer || &child == innerRenderer)
    541         return parent.RenderBlock::takeChild(*this, child);
     539        return blockBuilder().takeChild(parent, child);
    542540    return takeChild(*innerRenderer, child);
    543541}
     
    548546    if (!innerRenderer || &child == innerRenderer || child.parent() == &parent) {
    549547        ASSERT(&child == innerRenderer || !innerRenderer);
    550         return parent.RenderBlock::takeChild(*this, child);
     548        return blockBuilder().takeChild(parent, child);
    551549    }
    552550    return takeChild(*innerRenderer, child);
     
    555553RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderGrid(RenderGrid& parent, RenderObject& child)
    556554{
    557     auto takenChild = parent.RenderBlock::takeChild(*this, child);
     555    auto takenChild = blockBuilder().takeChild(parent, child);
    558556    // Positioned grid items do not take up space or otherwise participate in the layout of the grid,
    559557    // for that reason we don't need to mark the grid as dirty when they are removed.
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h

    r228432 r228441  
    7979    void insertChildToRenderMathMLFenced(RenderMathMLFenced& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
    8080
    81     RenderPtr<RenderObject> takeChildFromRenderBlock(RenderBlock& parent, RenderObject& oldChild);
    82 
    8381    bool childRequiresTable(const RenderElement& parent, const RenderObject& child);
    8482    void makeChildrenNonInline(RenderBlock& parent, RenderObject* insertionPoint = nullptr);
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp

    r228432 r228441  
    374374            m_builder.multiColumnBuilder().multiColumnRelativeWillBeRemoved(*fragmentedFlow, child);
    375375    }
    376     return parent.RenderBlock::takeChild(m_builder, child);
    377 }
    378 
    379 }
     376    return takeChild(static_cast<RenderBlock&>(parent), child);
     377}
     378
     379}
Note: See TracChangeset for help on using the changeset viewer.