Changeset 228530 in webkit


Ignore:
Timestamp:
Feb 15, 2018 1:06:53 PM (6 years ago)
Author:
Alan Bujtas
Message:

[RenderTreeBuilder] Move RenderTableSection::addChild() to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182835
<rdar://problem/37579191>

Reviewed by Antti Koivisto.

No change in functionality.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::willInsertTableRow):
(WebCore::RenderTableSection::addChild): Deleted.

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

(WebCore::RenderTreeBuilder::insertChild): Leftover from r228529.
(WebCore::RenderTreeBuilder::insertChildToRenderTable): Deleted. Leftover from r228529.
(WebCore::RenderTreeBuilder::insertChildToRenderTableSection): Deleted.

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

(WebCore::RenderTreeBuilder::Table::insertChild):

Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r228529 r228530  
     12018-02-15  Zalan Bujtas  <zalan@apple.com>
     2
     3        [RenderTreeBuilder] Move RenderTableSection::addChild() to RenderTreeBuilder
     4        https://bugs.webkit.org/show_bug.cgi?id=182835
     5        <rdar://problem/37579191>
     6
     7        Reviewed by Antti Koivisto.
     8
     9        No change in functionality.
     10
     11        * rendering/RenderTableSection.cpp:
     12        (WebCore::RenderTableSection::willInsertTableRow):
     13        (WebCore::RenderTableSection::addChild): Deleted.
     14        * rendering/RenderTableSection.h:
     15        * rendering/updating/RenderTreeBuilder.cpp:
     16        (WebCore::RenderTreeBuilder::insertChild): Leftover from r228529.
     17        (WebCore::RenderTreeBuilder::insertChildToRenderTable): Deleted. Leftover from r228529.
     18        (WebCore::RenderTreeBuilder::insertChildToRenderTableSection): Deleted.
     19        * rendering/updating/RenderTreeBuilder.h:
     20        * rendering/updating/RenderTreeBuilderTable.cpp:
     21        (WebCore::RenderTreeBuilder::Table::insertChild):
     22
    1232018-02-15  Zalan Bujtas  <zalan@apple.com>
    224
  • trunk/Source/WebCore/rendering/RenderTableSection.cpp

    r226634 r228530  
    122122}
    123123
    124 void RenderTableSection::addChild(RenderTreeBuilder& builder, RenderPtr<RenderObject> child, RenderObject* beforeChild)
     124void RenderTableSection::willInsertTableRow(RenderTableRow& child, RenderObject* beforeChild)
    125125{
    126126    if (beforeChild)
     
    133133    ensureRows(m_cRow);
    134134
    135     RenderTableRow& row = downcast<RenderTableRow>(*child);
    136     m_grid[insertionRow].rowRenderer = &row;
    137     row.setRowIndex(insertionRow);
     135    m_grid[insertionRow].rowRenderer = &child;
     136    child.setRowIndex(insertionRow);
    138137
    139138    if (!beforeChild)
    140139        setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative(m_grid[insertionRow]);
    141     builder.insertChildToRenderTableSection(*this, WTFMove(child), beforeChild);
    142140}
    143141
  • trunk/Source/WebCore/rendering/RenderTableSection.h

    r226007 r228530  
    6363    RenderTableRow* lastRow() const;
    6464
    65     void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> child, RenderObject* beforeChild = 0) override;
    66 
    6765    std::optional<int> firstLineBaseline() const override;
    6866
     
    149147   
    150148    void paint(PaintInfo&, const LayoutPoint&) override;
     149
     150    void willInsertTableRow(RenderTableRow& child, RenderObject* beforeChild);
    151151
    152152protected:
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp

    r228529 r228530  
    162162
    163163    if (is<RenderTableSection>(parent)) {
    164         insertRecursiveIfNeeded(tableBuilder().findOrCreateParentForChild(downcast<RenderTableSection>(parent), *child, beforeChild));
     164        auto& parentCandidate = tableBuilder().findOrCreateParentForChild(downcast<RenderTableSection>(parent), *child, beforeChild);
     165        if (&parent == &parentCandidate) {
     166            tableBuilder().insertChild(downcast<RenderTableSection>(parent), WTFMove(child), beforeChild);
     167            return;
     168        }
     169        insertRecursiveIfNeeded(parentCandidate);
    165170        return;
    166171    }
     
    168173    if (is<RenderTable>(parent)) {
    169174        auto& parentCandidate = tableBuilder().findOrCreateParentForChild(downcast<RenderTable>(parent), *child, beforeChild);
    170         if (is<RenderTable>(parentCandidate) && &parentCandidate == &parent) {
     175        if (&parentCandidate == &parent) {
    171176            tableBuilder().insertChild(downcast<RenderTable>(parentCandidate), WTFMove(child), beforeChild);
    172177            return;
     
    504509}
    505510
    506 void RenderTreeBuilder::insertChildToRenderTable(RenderTable& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild)
    507 {
    508     tableBuilder().insertChild(parent, WTFMove(child), beforeChild);
    509 }
    510 
    511 void RenderTreeBuilder::insertChildToRenderTableSection(RenderTableSection& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild)
    512 {
    513     tableBuilder().insertChild(parent, WTFMove(child), beforeChild);
    514 }
    515 
    516511void RenderTreeBuilder::insertChildToRenderTableRow(RenderTableRow& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild)
    517512{
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h

    r228520 r228530  
    6969    void insertChildToRenderBlockFlow(RenderBlockFlow& parent, RenderPtr<RenderObject>, RenderObject* beforeChild = nullptr);
    7070    void insertChildToRenderInlineIgnoringContinuation(RenderInline& parent, RenderPtr<RenderObject>, RenderObject* beforeChild = nullptr);
    71     void insertChildToRenderTable(RenderTable& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
    72     void insertChildToRenderTableSection(RenderTableSection& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
    7371    void insertChildToRenderTableRow(RenderTableRow& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
    7472
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilderTable.cpp

    r228529 r228530  
    176176        beforeChild = m_builder.splitAnonymousBoxesAroundChild(parent, beforeChild);
    177177
     178    // FIXME: child should always be a RenderTableRow at this point.
     179    if (is<RenderTableRow>(*child.get()))
     180        parent.willInsertTableRow(downcast<RenderTableRow>(*child.get()), beforeChild);
    178181    ASSERT(!beforeChild || is<RenderTableRow>(*beforeChild));
    179182    parent.RenderBox::addChild(m_builder, WTFMove(child), beforeChild);
Note: See TracChangeset for help on using the changeset viewer.