Title: [226237] trunk/Source/WebCore
Revision
226237
Author
[email protected]
Date
2017-12-21 12:59:12 -0800 (Thu, 21 Dec 2017)

Log Message

[RenderTreeBuilder] Move repeating code to RenderTreeBuilder::insertInternal
https://bugs.webkit.org/show_bug.cgi?id=181094

Reviewed by Antti Koivisto.

* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::insertChild):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (226236 => 226237)


--- trunk/Source/WebCore/ChangeLog	2017-12-21 20:35:21 UTC (rev 226236)
+++ trunk/Source/WebCore/ChangeLog	2017-12-21 20:59:12 UTC (rev 226237)
@@ -1,3 +1,13 @@
+2017-12-21  Zalan Bujtas  <[email protected]>
+
+        [RenderTreeBuilder] Move repeating code to RenderTreeBuilder::insertInternal
+        https://bugs.webkit.org/show_bug.cgi?id=181094
+
+        Reviewed by Antti Koivisto.
+
+        * rendering/updating/RenderTreeBuilder.cpp:
+        (WebCore::RenderTreeBuilder::insertChild):
+
 2017-12-21  Jeremy Jones  <[email protected]>
 
         Build fix after r226223

Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (226236 => 226237)


--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2017-12-21 20:35:21 UTC (rev 226236)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2017-12-21 20:59:12 UTC (rev 226237)
@@ -62,6 +62,14 @@
 
 void RenderTreeBuilder::insertChild(RenderElement& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild)
 {
+    auto insertRecursiveIfNeeded = [&](RenderElement& parentCandidate) {
+        if (&parent == &parentCandidate) {
+            parent.addChild(*this, WTFMove(child), beforeChild);
+            return;
+        }
+        insertChild(parentCandidate, WTFMove(child), beforeChild);
+    };
+
     ASSERT(&parent.view() == &m_view);
 
     if (is<RenderText>(beforeChild)) {
@@ -70,32 +78,17 @@
     }
 
     if (is<RenderTableRow>(parent)) {
-        auto& parentCandidate = tableBuilder().findOrCreateParentForChild(downcast<RenderTableRow>(parent), *child, beforeChild);
-        if (&parent != &parentCandidate) {
-            insertChild(parentCandidate, WTFMove(child), beforeChild);
-            return;
-        }
-        parent.addChild(*this, WTFMove(child), beforeChild);
+        insertRecursiveIfNeeded(tableBuilder().findOrCreateParentForChild(downcast<RenderTableRow>(parent), *child, beforeChild));
         return;
     }
 
     if (is<RenderTableSection>(parent)) {
-        auto& parentCandidate = tableBuilder().findOrCreateParentForChild(downcast<RenderTableSection>(parent), *child, beforeChild);
-        if (&parent != &parentCandidate) {
-            insertChild(parentCandidate, WTFMove(child), beforeChild);
-            return;
-        }
-        parent.addChild(*this, WTFMove(child), beforeChild);
+        insertRecursiveIfNeeded(tableBuilder().findOrCreateParentForChild(downcast<RenderTableSection>(parent), *child, beforeChild));
         return;
     }
 
     if (is<RenderTable>(parent)) {
-        auto& parentCandidate = tableBuilder().findOrCreateParentForChild(downcast<RenderTable>(parent), *child, beforeChild);
-        if (&parent != &parentCandidate) {
-            insertChild(parentCandidate, WTFMove(child), beforeChild);
-            return;
-        }
-        parent.addChild(*this, WTFMove(child), beforeChild);
+        insertRecursiveIfNeeded(tableBuilder().findOrCreateParentForChild(downcast<RenderTable>(parent), *child, beforeChild));
         return;
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to