Changeset 228428 in webkit


Ignore:
Timestamp:
Feb 13, 2018 11:52:46 AM (6 years ago)
Author:
Alan Bujtas
Message:

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

Reviewed by Antti Koivisto.

No change in functionality.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::takeChild): Deleted.

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

(WebCore::RenderTreeBuilder::takeChildFromRenderGrid):

  • rendering/updating/RenderTreeBuilder.h:
Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r228427 r228428  
     12018-02-13  Zalan Bujtas  <zalan@apple.com>
     2
     3        [RenderTreeBuilder] Move RenderGrid::takeChild() to RenderTreeBuilder
     4        https://bugs.webkit.org/show_bug.cgi?id=182734
     5        <rdar://problem/37500876>
     6
     7        Reviewed by Antti Koivisto.
     8
     9        No change in functionality.
     10
     11        * rendering/RenderGrid.cpp:
     12        (WebCore::RenderGrid::takeChild): Deleted.
     13        * rendering/RenderGrid.h:
     14        * rendering/updating/RenderTreeBuilder.cpp:
     15        (WebCore::RenderTreeBuilder::takeChildFromRenderGrid):
     16        * rendering/updating/RenderTreeBuilder.h:
     17
    1182018-02-13  Nan Wang  <n_wang@apple.com>
    219
  • trunk/Source/WebCore/rendering/RenderGrid.cpp

    r228319 r228428  
    8484    // will change their position.
    8585    dirtyGrid();
    86 }
    87 
    88 RenderPtr<RenderObject> RenderGrid::takeChild(RenderTreeBuilder& builder, RenderObject& child)
    89 {
    90     auto takenChild = RenderBlock::takeChild(builder, child);
    91 
    92     // Positioned grid items do not take up space or otherwise participate in the layout of the grid,
    93     // for that reason we don't need to mark the grid as dirty when they are removed.
    94     if (child.isOutOfFlowPositioned())
    95         return takenChild;
    96 
    97     // The grid needs to be recomputed as it might contain auto-placed items that
    98     // will change their position.
    99     dirtyGrid();
    100     return takenChild;
    10186}
    10287
  • trunk/Source/WebCore/rendering/RenderGrid.h

    r227977 r228428  
    8181
    8282    void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> newChild, RenderObject* beforeChild) final;
    83     RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) final;
    8483
    8584    StyleSelfAlignmentData selfAlignmentForChild(GridAxis, const RenderBox&, const RenderStyle* = nullptr) const;
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp

    r228423 r228428  
    2929#include "RenderButton.h"
    3030#include "RenderElement.h"
     31#include "RenderGrid.h"
    3132#include "RenderMenuList.h"
    3233#include "RenderRuby.h"
     
    203204        return takeChildFromRenderMenuList(downcast<RenderMenuList>(parent), child);
    204205
     206    if (is<RenderButton>(parent))
     207        return takeChildFromRenderButton(downcast<RenderButton>(parent), child);
     208
     209    if (is<RenderGrid>(parent))
     210        return takeChildFromRenderGrid(downcast<RenderGrid>(parent), child);
     211
    205212    return parent.takeChild(*this, child);
    206213}
     
    533540}
    534541
    535 }
     542RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderGrid(RenderGrid& parent, RenderObject& child)
     543{
     544    auto takenChild = parent.RenderBlock::takeChild(*this, child);
     545    // Positioned grid items do not take up space or otherwise participate in the layout of the grid,
     546    // for that reason we don't need to mark the grid as dirty when they are removed.
     547    if (child.isOutOfFlowPositioned())
     548        return takenChild;
     549
     550    // The grid needs to be recomputed as it might contain auto-placed items that will change their position.
     551    parent.dirtyGrid();
     552    return takenChild;
     553}
     554
     555}
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h

    r228423 r228428  
    3131
    3232class RenderButton;
     33class RenderGrid;
    3334class RenderMathMLFenced;
    3435class RenderMenuList;
     
    108109    RenderPtr<RenderObject> takeChildFromRenderMenuList(RenderMenuList& parent, RenderObject& child);
    109110    RenderPtr<RenderObject> takeChildFromRenderButton(RenderButton& parent, RenderObject& child);
     111    RenderPtr<RenderObject> takeChildFromRenderGrid(RenderGrid& parent, RenderObject& child);
    110112
    111113    FirstLetter& firstLetterBuilder() { return *m_firstLetterBuilder; }
Note: See TracChangeset for help on using the changeset viewer.