Changeset 228914 in webkit


Ignore:
Timestamp:
Feb 21, 2018 10:17:45 PM (6 years ago)
Author:
Alan Bujtas
Message:

[RenderTreeBuilder] Move RenderObject::insertedInto() mutation logic to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=183022
<rdar://problem/37764326>

Reviewed by Antti Koivisto.

No change in functionality.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::insertedIntoTree):

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::insertChildToRenderElementInternal):
(WebCore::RenderTreeBuilder::moveChildrenTo):
(WebCore::RenderTreeBuilder::multiColumnDescendantInserted): Deleted.

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

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r228912 r228914  
     12018-02-21  Zalan Bujtas  <zalan@apple.com>
     2
     3        [RenderTreeBuilder] Move RenderObject::insertedInto() mutation logic to RenderTreeBuilder
     4        https://bugs.webkit.org/show_bug.cgi?id=183022
     5        <rdar://problem/37764326>
     6
     7        Reviewed by Antti Koivisto.
     8
     9        No change in functionality.
     10
     11        * rendering/RenderObject.cpp:
     12        (WebCore::RenderObject::insertedIntoTree):
     13        * rendering/updating/RenderTreeBuilder.cpp:
     14        (WebCore::RenderTreeBuilder::insertChildToRenderElementInternal):
     15        (WebCore::RenderTreeBuilder::moveChildrenTo):
     16        (WebCore::RenderTreeBuilder::multiColumnDescendantInserted): Deleted.
     17        * rendering/updating/RenderTreeBuilder.h:
     18
    1192018-02-21  Tim Horton  <timothy_horton@apple.com>
    220
  • trunk/Source/WebCore/rendering/RenderObject.cpp

    r228908 r228914  
    14501450{
    14511451    // FIXME: We should ASSERT(isRooted()) here but generated content makes some out-of-order insertion.
    1452 
    14531452    if (!isFloating() && parent()->childrenInline())
    14541453        parent()->dirtyLinesFromChangedChild(*this);
    1455 
    1456     auto* fragmentedFlow = enclosingFragmentedFlow();
    1457     if (is<RenderMultiColumnFlow>(fragmentedFlow))
    1458         RenderTreeBuilder::current()->multiColumnDescendantInserted(downcast<RenderMultiColumnFlow>(*fragmentedFlow), *this);
    14591454}
    14601455
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp

    r228899 r228914  
    388388
    389389    while (beforeChild && beforeChild->parent() && beforeChild->parent() != &parent)
    390     beforeChild = beforeChild->parent();
     390        beforeChild = beforeChild->parent();
    391391
    392392    ASSERT(!beforeChild || beforeChild->parent() == &parent);
     
    399399    if (!parent.renderTreeBeingDestroyed()) {
    400400        newChild->insertedIntoTree();
     401
     402        auto* fragmentedFlow = newChild->enclosingFragmentedFlow();
     403        if (is<RenderMultiColumnFlow>(fragmentedFlow))
     404            multiColumnBuilder().multiColumnDescendantInserted(downcast<RenderMultiColumnFlow>(*fragmentedFlow), *newChild);
     405
    401406        if (is<RenderElement>(*newChild))
    402         RenderCounter::rendererSubtreeAttached(downcast<RenderElement>(*newChild));
     407            RenderCounter::rendererSubtreeAttached(downcast<RenderElement>(*newChild));
    403408    }
    404409
     
    406411    parent.setPreferredLogicalWidthsDirty(true);
    407412    if (!parent.normalChildNeedsLayout())
    408     parent.setChildNeedsLayout(); // We may supply the static position for an absolute positioned child.
     413        parent.setChildNeedsLayout(); // We may supply the static position for an absolute positioned child.
    409414
    410415    if (AXObjectCache* cache = parent.document().axObjectCache())
    411     cache->childrenChanged(&parent, newChild);
     416        cache->childrenChanged(&parent, newChild);
    412417    if (is<RenderBlockFlow>(parent))
    413     downcast<RenderBlockFlow>(parent).invalidateLineLayoutPath();
     418        downcast<RenderBlockFlow>(parent).invalidateLineLayoutPath();
    414419    if (parent.hasOutlineAutoAncestor() || parent.outlineStyleForRepaint().outlineStyleIsAuto())
    415     newChild->setHasOutlineAutoAncestor();
     420        newChild->setHasOutlineAutoAncestor();
    416421}
    417422
     
    485490            // This is the first letter, skip it.
    486491            if (firstLetterObj == nextSibling)
    487             nextSibling = nextSibling->nextSibling();
     492                nextSibling = nextSibling->nextSibling();
    488493        }
    489494
     
    633638}
    634639
    635 void RenderTreeBuilder::multiColumnDescendantInserted(RenderMultiColumnFlow& flow, RenderObject& newDescendant)
    636 {
    637     multiColumnBuilder().multiColumnDescendantInserted(flow, newDescendant);
    638 }
    639 
    640640static bool isAnonymousAndSafeToDelete(RenderElement& element)
    641641{
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h

    r228899 r228914  
    5757    void childFlowStateChangesAndAffectsParentBlock(RenderElement& child);
    5858    void childFlowStateChangesAndNoLongerAffectsParentBlock(RenderElement& child);
    59     void multiColumnDescendantInserted(RenderMultiColumnFlow&, RenderObject& newDescendant);
    6059
    6160private:
Note: See TracChangeset for help on using the changeset viewer.