Title: [228503] trunk/Source/WebCore
Revision
228503
Author
za...@apple.com
Date
2018-02-14 19:41:57 -0800 (Wed, 14 Feb 2018)

Log Message

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

Reviewed by Antti Koivisto.

No change in functionality.

* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::addChild): Deleted.
* rendering/mathml/RenderMathMLFenced.h:
* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::insertChild):
(WebCore::RenderTreeBuilder::insertChildToRenderMathMLFenced): Deleted.
* rendering/updating/RenderTreeBuilder.h:
* rendering/updating/RenderTreeBuilderMathML.cpp:
(WebCore::RenderTreeBuilder::MathML::insertChild):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (228502 => 228503)


--- trunk/Source/WebCore/ChangeLog	2018-02-15 02:55:57 UTC (rev 228502)
+++ trunk/Source/WebCore/ChangeLog	2018-02-15 03:41:57 UTC (rev 228503)
@@ -1,3 +1,23 @@
+2018-02-14  Zalan Bujtas  <za...@apple.com>
+
+        [RenderTreeBuilder] Move RenderMathMLFenced::addChild() to RenderTreeBuilder
+        https://bugs.webkit.org/show_bug.cgi?id=182817
+        <rdar://problem/37556761>
+
+        Reviewed by Antti Koivisto.
+
+        No change in functionality.
+
+        * rendering/mathml/RenderMathMLFenced.cpp:
+        (WebCore::RenderMathMLFenced::addChild): Deleted.
+        * rendering/mathml/RenderMathMLFenced.h:
+        * rendering/updating/RenderTreeBuilder.cpp:
+        (WebCore::RenderTreeBuilder::insertChild):
+        (WebCore::RenderTreeBuilder::insertChildToRenderMathMLFenced): Deleted.
+        * rendering/updating/RenderTreeBuilder.h:
+        * rendering/updating/RenderTreeBuilderMathML.cpp:
+        (WebCore::RenderTreeBuilder::MathML::insertChild):
+
 2018-02-14  Antti Koivisto  <an...@apple.com>
 
         Do sibling invalidation on mutation

Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp (228502 => 228503)


--- trunk/Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp	2018-02-15 02:55:57 UTC (rev 228502)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp	2018-02-15 03:41:57 UTC (rev 228503)
@@ -85,14 +85,6 @@
     }
 }
 
-void RenderMathMLFenced::addChild(RenderTreeBuilder& builder, RenderPtr<RenderObject> child, RenderObject* beforeChild)
-{
-    // make the fences if the render object is empty
-    if (!firstChild())
-        updateFromElement();
-    builder.insertChildToRenderMathMLFenced(*this, WTFMove(child), beforeChild);
 }
 
-}
-
 #endif

Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLFenced.h (228502 => 228503)


--- trunk/Source/WebCore/rendering/mathml/RenderMathMLFenced.h	2018-02-15 02:55:57 UTC (rev 228502)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLFenced.h	2018-02-15 03:41:57 UTC (rev 228503)
@@ -46,11 +46,11 @@
     RenderMathMLFencedOperator* closeFenceRenderer() const { return m_closeFenceRenderer.get(); }
     void setCloseFenceRenderer(RenderMathMLFencedOperator& renderer) { m_closeFenceRenderer = makeWeakPtr(renderer); }
 
+    void updateFromElement();
+
 private:
     bool isRenderMathMLFenced() const final { return true; }
     const char* renderName() const final { return "RenderMathMLFenced"; }
-    void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> child, RenderObject* beforeChild) final;
-    void updateFromElement();
 
     String m_open;
     String m_close;
@@ -61,4 +61,6 @@
 
 }
 
+SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderMathMLFenced, isRenderMathMLFenced())
+
 #endif // ENABLE(MATHML)

Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (228502 => 228503)


--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2018-02-15 02:55:57 UTC (rev 228502)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2018-02-15 03:41:57 UTC (rev 228503)
@@ -34,6 +34,7 @@
 #include "RenderElement.h"
 #include "RenderGrid.h"
 #include "RenderLineBreak.h"
+#include "RenderMathMLFenced.h"
 #include "RenderMenuList.h"
 #include "RenderRuby.h"
 #include "RenderRubyBase.h"
@@ -214,6 +215,11 @@
         return;
     }
 
+    if (is<RenderMathMLFenced>(parent)) {
+        mathMLBuilder().insertChild(downcast<RenderMathMLFenced>(parent), WTFMove(child), beforeChild);
+        return;
+    }
+
     parent.addChild(*this, WTFMove(child), beforeChild);
 }
 
@@ -507,11 +513,6 @@
     blockFlowBuilder().insertChild(parent, WTFMove(child), beforeChild);
 }
 
-void RenderTreeBuilder::insertChildToRenderMathMLFenced(RenderMathMLFenced& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild)
-{
-    mathMLBuilder().insertChild(parent, WTFMove(child), beforeChild);
-}
-
 void RenderTreeBuilder::updateAfterDescendants(RenderElement& renderer)
 {
     if (is<RenderBlock>(renderer))

Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h (228502 => 228503)


--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h	2018-02-15 02:55:57 UTC (rev 228502)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h	2018-02-15 03:41:57 UTC (rev 228503)
@@ -72,7 +72,6 @@
     void insertChildToRenderTable(RenderTable& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
     void insertChildToRenderTableSection(RenderTableSection& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
     void insertChildToRenderTableRow(RenderTableRow& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
-    void insertChildToRenderMathMLFenced(RenderMathMLFenced& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
 
     RenderPtr<RenderObject> takeChildFromRenderElement(RenderElement& parent, RenderObject& child) WARN_UNUSED_RETURN;
 

Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilderMathML.cpp (228502 => 228503)


--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilderMathML.cpp	2018-02-15 02:55:57 UTC (rev 228502)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilderMathML.cpp	2018-02-15 03:41:57 UTC (rev 228503)
@@ -56,8 +56,11 @@
 
 void RenderTreeBuilder::MathML::insertChild(RenderMathMLFenced& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild)
 {
-    if (!parent.firstChild())
+    // make the fences if the render object is empty
+    if (!parent.firstChild()) {
+        parent.updateFromElement();
         makeFences(parent);
+    }
     // FIXME: Adding or removing a child should possibly cause all later separators to shift places
     // if they're different, as later child positions change by +1 or -1.
     // This should also handle surrogate pairs. See https://bugs.webkit.org/show_bug.cgi?id=125938.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to