Title: [228423] trunk/Source/WebCore
Revision
228423
Author
za...@apple.com
Date
2018-02-13 10:24:20 -0800 (Tue, 13 Feb 2018)

Log Message

[RenderTreeBuilder] Move RenderButton::takeChild() to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182732
<rdar://problem/37500564>

Reviewed by Antti Koivisto.

No change of functionality.

* rendering/RenderButton.cpp:
(WebCore::RenderButton::setInnerRenderer):
(WebCore::RenderButton::takeChild): Deleted.
* rendering/RenderButton.h:
* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::takeChildFromRenderButton):
* rendering/updating/RenderTreeBuilder.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (228422 => 228423)


--- trunk/Source/WebCore/ChangeLog	2018-02-13 18:10:30 UTC (rev 228422)
+++ trunk/Source/WebCore/ChangeLog	2018-02-13 18:24:20 UTC (rev 228423)
@@ -1,3 +1,21 @@
+2018-02-13  Zalan Bujtas  <za...@apple.com>
+
+        [RenderTreeBuilder] Move RenderButton::takeChild() to RenderTreeBuilder
+        https://bugs.webkit.org/show_bug.cgi?id=182732
+        <rdar://problem/37500564>
+
+        Reviewed by Antti Koivisto.
+
+        No change of functionality.
+
+        * rendering/RenderButton.cpp:
+        (WebCore::RenderButton::setInnerRenderer):
+        (WebCore::RenderButton::takeChild): Deleted.
+        * rendering/RenderButton.h:
+        * rendering/updating/RenderTreeBuilder.cpp:
+        (WebCore::RenderTreeBuilder::takeChildFromRenderButton):
+        * rendering/updating/RenderTreeBuilder.h:
+
 2018-02-13  Alicia Boya GarcĂ­a  <ab...@igalia.com>
 
         [Gstreamer][MSE] Add string representation for GStreamerMediaSample

Modified: trunk/Source/WebCore/rendering/RenderButton.cpp (228422 => 228423)


--- trunk/Source/WebCore/rendering/RenderButton.cpp	2018-02-13 18:10:30 UTC (rev 228422)
+++ trunk/Source/WebCore/rendering/RenderButton.cpp	2018-02-13 18:24:20 UTC (rev 228423)
@@ -69,18 +69,6 @@
     m_inner = makeWeakPtr(innerRenderer);
     updateAnonymousChildStyle(m_inner->mutableStyle());
 }
-
-RenderPtr<RenderObject> RenderButton::takeChild(RenderTreeBuilder& builder, RenderObject& oldChild)
-{
-    // m_inner should be the only child, but checking for direct children who
-    // are not m_inner prevents security problems when that assumption is
-    // violated.
-    if (&oldChild == m_inner || !m_inner || oldChild.parent() == this) {
-        ASSERT(&oldChild == m_inner || !m_inner);
-        return RenderFlexibleBox::takeChild(builder, oldChild);
-    }
-    return builder.takeChild(*m_inner, oldChild);
-}
     
 void RenderButton::updateAnonymousChildStyle(RenderStyle& childStyle) const
 {

Modified: trunk/Source/WebCore/rendering/RenderButton.h (228422 => 228423)


--- trunk/Source/WebCore/rendering/RenderButton.h	2018-02-13 18:10:30 UTC (rev 228422)
+++ trunk/Source/WebCore/rendering/RenderButton.h	2018-02-13 18:24:20 UTC (rev 228423)
@@ -41,7 +41,6 @@
 
     bool canBeSelectionLeaf() const override;
 
-    RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) override;
     bool createsAnonymousWrapper() const override { return true; }
 
     void updateFromElement() override;

Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (228422 => 228423)


--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2018-02-13 18:10:30 UTC (rev 228422)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2018-02-13 18:24:20 UTC (rev 228423)
@@ -522,4 +522,14 @@
     return takeChild(*innerRenderer, child);
 }
 
+RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderButton(RenderButton& parent, RenderObject& child)
+{
+    auto* innerRenderer = parent.innerRenderer();
+    if (!innerRenderer || &child == innerRenderer || child.parent() == &parent) {
+        ASSERT(&child == innerRenderer || !innerRenderer);
+        return parent.RenderBlock::takeChild(*this, child);
+    }
+    return takeChild(*innerRenderer, child);
 }
+
+}

Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h (228422 => 228423)


--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h	2018-02-13 18:10:30 UTC (rev 228422)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h	2018-02-13 18:24:20 UTC (rev 228423)
@@ -29,6 +29,7 @@
 
 namespace WebCore {
 
+class RenderButton;
 class RenderMathMLFenced;
 class RenderMenuList;
 class RenderRubyAsBlock;
@@ -105,6 +106,7 @@
 
     void removeAnonymousWrappersForInlineChildrenIfNeeded(RenderElement& parent);
     RenderPtr<RenderObject> takeChildFromRenderMenuList(RenderMenuList& parent, RenderObject& child);
+    RenderPtr<RenderObject> takeChildFromRenderButton(RenderButton& parent, RenderObject& child);
 
     FirstLetter& firstLetterBuilder() { return *m_firstLetterBuilder; }
     List& listBuilder() { return *m_listBuilder; }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to