Skip to content

Commit

Permalink
Merge r228423 - [RenderTreeBuilder] Move RenderButton::takeChild() to…
Browse files Browse the repository at this point in the history
… 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:
  • Loading branch information
alanbaradlay authored and carlosgcampos committed Feb 20, 2018
1 parent 610738f commit 6e52246
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 13 deletions.
18 changes: 18 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,21 @@
2018-02-13 Zalan Bujtas <zalan@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 <aboya@igalia.com>

[Gstreamer][MSE] Add string representation for GStreamerMediaSample
Expand Down
12 changes: 0 additions & 12 deletions Source/WebCore/rendering/RenderButton.cpp
Expand Up @@ -69,18 +69,6 @@ void RenderButton::setInnerRenderer(RenderBlock& innerRenderer)
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
{
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/rendering/RenderButton.h
Expand Up @@ -41,7 +41,6 @@ class RenderButton final : public RenderFlexibleBox {

bool canBeSelectionLeaf() const override;

RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) override;
bool createsAnonymousWrapper() const override { return true; }

void updateFromElement() override;
Expand Down
10 changes: 10 additions & 0 deletions Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
Expand Up @@ -522,4 +522,14 @@ RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderMenuList(RenderMen
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);
}

}
2 changes: 2 additions & 0 deletions Source/WebCore/rendering/updating/RenderTreeBuilder.h
Expand Up @@ -29,6 +29,7 @@

namespace WebCore {

class RenderButton;
class RenderMathMLFenced;
class RenderMenuList;
class RenderRubyAsBlock;
Expand Down Expand Up @@ -105,6 +106,7 @@ class RenderTreeBuilder {

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; }
Expand Down

0 comments on commit 6e52246

Please sign in to comment.