Changeset 228423 in webkit
- Timestamp:
- Feb 13, 2018 10:24:20 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r228418 r228423 1 2018-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 1 19 2018-02-13 Alicia Boya García <aboya@igalia.com> 2 20 -
trunk/Source/WebCore/rendering/RenderButton.cpp
r228400 r228423 69 69 m_inner = makeWeakPtr(innerRenderer); 70 70 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 who76 // are not m_inner prevents security problems when that assumption is77 // 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);83 71 } 84 72 -
trunk/Source/WebCore/rendering/RenderButton.h
r228224 r228423 42 42 bool canBeSelectionLeaf() const override; 43 43 44 RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) override;45 44 bool createsAnonymousWrapper() const override { return true; } 46 45 -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
r228414 r228423 523 523 } 524 524 525 } 525 RenderPtr<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 30 30 namespace WebCore { 31 31 32 class RenderButton; 32 33 class RenderMathMLFenced; 33 34 class RenderMenuList; … … 106 107 void removeAnonymousWrappersForInlineChildrenIfNeeded(RenderElement& parent); 107 108 RenderPtr<RenderObject> takeChildFromRenderMenuList(RenderMenuList& parent, RenderObject& child); 109 RenderPtr<RenderObject> takeChildFromRenderButton(RenderButton& parent, RenderObject& child); 108 110 109 111 FirstLetter& firstLetterBuilder() { return *m_firstLetterBuilder; }
Note: See TracChangeset
for help on using the changeset viewer.