Changeset 228423 in webkit


Ignore:
Timestamp:
Feb 13, 2018 10:24:20 AM (6 years ago)
Author:
Alan Bujtas
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:
Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r228418 r228423  
     12018-02-13  Zalan Bujtas  <zalan@apple.com>
     2
     3        [RenderTreeBuilder] Move RenderButton::takeChild() to RenderTreeBuilder
     4        https://bugs.webkit.org/show_bug.cgi?id=182732
     5        <rdar://problem/37500564>
     6
     7        Reviewed by Antti Koivisto.
     8
     9        No change of functionality.
     10
     11        * rendering/RenderButton.cpp:
     12        (WebCore::RenderButton::setInnerRenderer):
     13        (WebCore::RenderButton::takeChild): Deleted.
     14        * rendering/RenderButton.h:
     15        * rendering/updating/RenderTreeBuilder.cpp:
     16        (WebCore::RenderTreeBuilder::takeChildFromRenderButton):
     17        * rendering/updating/RenderTreeBuilder.h:
     18
    1192018-02-13  Alicia Boya García  <aboya@igalia.com>
    220
  • trunk/Source/WebCore/rendering/RenderButton.cpp

    r228400 r228423  
    6969    m_inner = makeWeakPtr(innerRenderer);
    7070    updateAnonymousChildStyle(m_inner->mutableStyle());
    71 }
    72 
    73 RenderPtr<RenderObject> RenderButton::takeChild(RenderTreeBuilder& builder, RenderObject& oldChild)
    74 {
    75     // m_inner should be the only child, but checking for direct children who
    76     // are not m_inner prevents security problems when that assumption is
    77     // violated.
    78     if (&oldChild == m_inner || !m_inner || oldChild.parent() == this) {
    79         ASSERT(&oldChild == m_inner || !m_inner);
    80         return RenderFlexibleBox::takeChild(builder, oldChild);
    81     }
    82     return builder.takeChild(*m_inner, oldChild);
    8371}
    8472   
  • trunk/Source/WebCore/rendering/RenderButton.h

    r228224 r228423  
    4242    bool canBeSelectionLeaf() const override;
    4343
    44     RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) override;
    4544    bool createsAnonymousWrapper() const override { return true; }
    4645
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp

    r228414 r228423  
    523523}
    524524
    525 }
     525RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderButton(RenderButton& parent, RenderObject& child)
     526{
     527    auto* innerRenderer = parent.innerRenderer();
     528    if (!innerRenderer || &child == innerRenderer || child.parent() == &parent) {
     529        ASSERT(&child == innerRenderer || !innerRenderer);
     530        return parent.RenderBlock::takeChild(*this, child);
     531    }
     532    return takeChild(*innerRenderer, child);
     533}
     534
     535}
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h

    r228414 r228423  
    3030namespace WebCore {
    3131
     32class RenderButton;
    3233class RenderMathMLFenced;
    3334class RenderMenuList;
     
    106107    void removeAnonymousWrappersForInlineChildrenIfNeeded(RenderElement& parent);
    107108    RenderPtr<RenderObject> takeChildFromRenderMenuList(RenderMenuList& parent, RenderObject& child);
     109    RenderPtr<RenderObject> takeChildFromRenderButton(RenderButton& parent, RenderObject& child);
    108110
    109111    FirstLetter& firstLetterBuilder() { return *m_firstLetterBuilder; }
Note: See TracChangeset for help on using the changeset viewer.