Changeset 228414 in webkit


Ignore:
Timestamp:
Feb 12, 2018 7:26:50 PM (6 years ago)
Author:
Alan Bujtas
Message:

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

Reviewed by Antti Koivisto.

No change in functionality.

  • rendering/RenderMenuList.cpp:

(RenderMenuList::takeChild): Deleted.

  • rendering/RenderMenuList.h:
  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::takeChild):
(WebCore::RenderTreeBuilder::takeChildFromRenderMenuList):

  • rendering/updating/RenderTreeBuilder.h:
Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r228413 r228414  
     12018-02-12  Zalan Bujtas  <zalan@apple.com>
     2
     3        [RenderTreeBuilder] Move RenderMenuList::takeChild() to RenderTreeBuilder
     4        https://bugs.webkit.org/show_bug.cgi?id=182715
     5        <rdar://problem/37477050>
     6
     7        Reviewed by Antti Koivisto.
     8
     9        No change in functionality.
     10
     11        * rendering/RenderMenuList.cpp:
     12        (RenderMenuList::takeChild): Deleted.
     13        * rendering/RenderMenuList.h:
     14        * rendering/updating/RenderTreeBuilder.cpp:
     15        (WebCore::RenderTreeBuilder::takeChild):
     16        (WebCore::RenderTreeBuilder::takeChildFromRenderMenuList):
     17        * rendering/updating/RenderTreeBuilder.h:
     18
    1192018-02-12  Ross Kirsling  <ross.kirsling@sony.com>
    220
  • trunk/Source/WebCore/rendering/RenderMenuList.cpp

    r228400 r228414  
    173173}
    174174
    175 RenderPtr<RenderObject> RenderMenuList::takeChild(RenderTreeBuilder& builder, RenderObject& oldChild)
    176 {
    177     if (!m_innerBlock || &oldChild == m_innerBlock)
    178         return RenderFlexibleBox::takeChild(builder, oldChild);
    179     return builder.takeChild(*m_innerBlock, oldChild);
    180 }
    181 
    182175void RenderMenuList::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
    183176{
  • trunk/Source/WebCore/rendering/RenderMenuList.h

    r228337 r228414  
    7171
    7272    void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> newChild, RenderObject* beforeChild = 0) override;
    73     RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) override;
    7473    bool createsAnonymousWrapper() const override { return true; }
    7574
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp

    r228400 r228414  
    2929#include "RenderButton.h"
    3030#include "RenderElement.h"
     31#include "RenderMenuList.h"
    3132#include "RenderRuby.h"
    3233#include "RenderRubyBase.h"
     
    199200        return rubyBuilder().takeChild(downcast<RenderRubyRun>(parent), child);
    200201
     202    if (is<RenderMenuList>(parent))
     203        return takeChildFromRenderMenuList(downcast<RenderMenuList>(parent), child);
     204
    201205    return parent.takeChild(*this, child);
    202206}
     
    511515}
    512516
    513 }
     517RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderMenuList(RenderMenuList& parent, RenderObject& child)
     518{
     519    auto* innerRenderer = parent.innerRenderer();
     520    if (!innerRenderer || &child == innerRenderer)
     521        return parent.RenderBlock::takeChild(*this, child);
     522    return takeChild(*innerRenderer, child);
     523}
     524
     525}
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h

    r228400 r228414  
    3131
    3232class RenderMathMLFenced;
     33class RenderMenuList;
    3334class RenderRubyAsBlock;
    3435class RenderRubyAsInline;
     
    104105
    105106    void removeAnonymousWrappersForInlineChildrenIfNeeded(RenderElement& parent);
     107    RenderPtr<RenderObject> takeChildFromRenderMenuList(RenderMenuList& parent, RenderObject& child);
    106108
    107109    FirstLetter& firstLetterBuilder() { return *m_firstLetterBuilder; }
Note: See TracChangeset for help on using the changeset viewer.