Diff
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog (228772 => 228773)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog 2018-02-20 10:40:45 UTC (rev 228772)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog 2018-02-20 10:40:54 UTC (rev 228773)
@@ -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: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp (228772 => 228773)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp 2018-02-20 10:40:45 UTC (rev 228772)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp 2018-02-20 10:40:54 UTC (rev 228773)
@@ -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: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/mathml/RenderMathMLFenced.h (228772 => 228773)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/mathml/RenderMathMLFenced.h 2018-02-20 10:40:45 UTC (rev 228772)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/mathml/RenderMathMLFenced.h 2018-02-20 10:40:54 UTC (rev 228773)
@@ -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: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (228772 => 228773)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2018-02-20 10:40:45 UTC (rev 228772)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2018-02-20 10:40:54 UTC (rev 228773)
@@ -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: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.h (228772 => 228773)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.h 2018-02-20 10:40:45 UTC (rev 228772)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.h 2018-02-20 10:40:54 UTC (rev 228773)
@@ -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: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderMathML.cpp (228772 => 228773)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderMathML.cpp 2018-02-20 10:40:45 UTC (rev 228772)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderMathML.cpp 2018-02-20 10:40:54 UTC (rev 228773)
@@ -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.