Title: [228914] trunk/Source/WebCore
Revision
228914
Author
[email protected]
Date
2018-02-21 22:17:45 -0800 (Wed, 21 Feb 2018)

Log 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:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (228913 => 228914)


--- trunk/Source/WebCore/ChangeLog	2018-02-22 04:58:40 UTC (rev 228913)
+++ trunk/Source/WebCore/ChangeLog	2018-02-22 06:17:45 UTC (rev 228914)
@@ -1,3 +1,21 @@
+2018-02-21  Zalan Bujtas  <[email protected]>
+
+        [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:
+
 2018-02-21  Tim Horton  <[email protected]>
 
         Include all Cocoa sources in all Cocoa platform builds

Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (228913 => 228914)


--- trunk/Source/WebCore/rendering/RenderObject.cpp	2018-02-22 04:58:40 UTC (rev 228913)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp	2018-02-22 06:17:45 UTC (rev 228914)
@@ -1449,13 +1449,8 @@
 void RenderObject::insertedIntoTree()
 {
     // FIXME: We should ASSERT(isRooted()) here but generated content makes some out-of-order insertion.
-
     if (!isFloating() && parent()->childrenInline())
         parent()->dirtyLinesFromChangedChild(*this);
-
-    auto* fragmentedFlow = enclosingFragmentedFlow();
-    if (is<RenderMultiColumnFlow>(fragmentedFlow))
-        RenderTreeBuilder::current()->multiColumnDescendantInserted(downcast<RenderMultiColumnFlow>(*fragmentedFlow), *this);
 }
 
 void RenderObject::willBeRemovedFromTree()

Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (228913 => 228914)


--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2018-02-22 04:58:40 UTC (rev 228913)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2018-02-22 06:17:45 UTC (rev 228914)
@@ -387,7 +387,7 @@
     ASSERT(!parent.isRenderBlockFlow() || (!child->isTableSection() && !child->isTableRow() && !child->isTableCell()));
 
     while (beforeChild && beforeChild->parent() && beforeChild->parent() != &parent)
-    beforeChild = beforeChild->parent();
+        beforeChild = beforeChild->parent();
 
     ASSERT(!beforeChild || beforeChild->parent() == &parent);
     ASSERT(!is<RenderText>(beforeChild) || !downcast<RenderText>(*beforeChild).inlineWrapperForDisplayContents());
@@ -398,21 +398,26 @@
     newChild->initializeFragmentedFlowStateOnInsertion();
     if (!parent.renderTreeBeingDestroyed()) {
         newChild->insertedIntoTree();
+
+        auto* fragmentedFlow = newChild->enclosingFragmentedFlow();
+        if (is<RenderMultiColumnFlow>(fragmentedFlow))
+            multiColumnBuilder().multiColumnDescendantInserted(downcast<RenderMultiColumnFlow>(*fragmentedFlow), *newChild);
+
         if (is<RenderElement>(*newChild))
-        RenderCounter::rendererSubtreeAttached(downcast<RenderElement>(*newChild));
+            RenderCounter::rendererSubtreeAttached(downcast<RenderElement>(*newChild));
     }
 
     newChild->setNeedsLayoutAndPrefWidthsRecalc();
     parent.setPreferredLogicalWidthsDirty(true);
     if (!parent.normalChildNeedsLayout())
-    parent.setChildNeedsLayout(); // We may supply the static position for an absolute positioned child.
+        parent.setChildNeedsLayout(); // We may supply the static position for an absolute positioned child.
 
     if (AXObjectCache* cache = parent.document().axObjectCache())
-    cache->childrenChanged(&parent, newChild);
+        cache->childrenChanged(&parent, newChild);
     if (is<RenderBlockFlow>(parent))
-    downcast<RenderBlockFlow>(parent).invalidateLineLayoutPath();
+        downcast<RenderBlockFlow>(parent).invalidateLineLayoutPath();
     if (parent.hasOutlineAutoAncestor() || parent.outlineStyleForRepaint().outlineStyleIsAuto())
-    newChild->setHasOutlineAutoAncestor();
+        newChild->setHasOutlineAutoAncestor();
 }
 
 void RenderTreeBuilder::moveChildTo(RenderBoxModelObject& from, RenderBoxModelObject& to, RenderObject& child, RenderObject* beforeChild, NormalizeAfterInsertion normalizeAfterInsertion)
@@ -484,7 +489,7 @@
 
             // This is the first letter, skip it.
             if (firstLetterObj == nextSibling)
-            nextSibling = nextSibling->nextSibling();
+                nextSibling = nextSibling->nextSibling();
         }
 
         moveChildTo(from, to, *child, beforeChild, normalizeAfterInsertion);
@@ -632,11 +637,6 @@
     removeAnonymousWrappersForInlineChildrenIfNeeded(*child.parent());
 }
 
-void RenderTreeBuilder::multiColumnDescendantInserted(RenderMultiColumnFlow& flow, RenderObject& newDescendant)
-{
-    multiColumnBuilder().multiColumnDescendantInserted(flow, newDescendant);
-}
-
 static bool isAnonymousAndSafeToDelete(RenderElement& element)
 {
     if (!element.isAnonymous())

Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h (228913 => 228914)


--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h	2018-02-22 04:58:40 UTC (rev 228913)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h	2018-02-22 06:17:45 UTC (rev 228914)
@@ -56,7 +56,6 @@
 
     void childFlowStateChangesAndAffectsParentBlock(RenderElement& child);
     void childFlowStateChangesAndNoLongerAffectsParentBlock(RenderElement& child);
-    void multiColumnDescendantInserted(RenderMultiColumnFlow&, RenderObject& newDescendant);
 
 private:
     void insertChildIgnoringContinuation(RenderElement& parent, RenderPtr<RenderObject>, RenderObject* beforeChild = nullptr);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to