Changeset 228547 in webkit
- Timestamp:
- Feb 15, 2018 6:37:38 PM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r228546 r228547 1 2018-02-15 Zalan Bujtas <zalan@apple.com> 2 3 [RenderTreeBuilder] Move RenderMenuList::addChild() to RenderTreeBuilder 4 https://bugs.webkit.org/show_bug.cgi?id=182840 5 <rdar://problem/37583638> 6 7 Reviewed by Antti Koivisto. 8 9 No change in functionality. 10 11 * rendering/RenderMenuList.cpp: 12 (RenderMenuList::didInsertChild): 13 (RenderMenuList::addChild): Deleted. 14 * rendering/RenderMenuList.h: 15 * rendering/updating/RenderTreeBuilder.cpp: 16 (WebCore::RenderTreeBuilder::insertChild): 17 * rendering/updating/RenderTreeBuilderFormControls.cpp: 18 (WebCore::RenderTreeBuilder::FormControls::findOrCreateParentForChild): 19 (WebCore::RenderTreeBuilder::FormControls::insertChild): 20 (WebCore::RenderTreeBuilder::FormControls::createInnerRendererIfNeeded): Deleted. 21 * rendering/updating/RenderTreeBuilderFormControls.h: 22 1 23 2018-02-15 Darin Adler <darin@apple.com> 2 24 -
trunk/Source/WebCore/rendering/RenderMenuList.cpp
r228427 r228547 166 166 } 167 167 168 void RenderMenuList:: addChild(RenderTreeBuilder&, RenderPtr<RenderObject>child, RenderObject*)168 void RenderMenuList::didInsertChild(RenderObject& child, RenderObject*) 169 169 { 170 170 if (AXObjectCache* cache = document().existingAXObjectCache()) 171 cache->childrenChanged(this, child.get());171 cache->childrenChanged(this, &child); 172 172 } 173 173 -
trunk/Source/WebCore/rendering/RenderMenuList.h
r228414 r228547 63 63 void setInnerRenderer(RenderBlock&); 64 64 65 void didInsertChild(RenderObject& child, RenderObject* beforeChild); 66 65 67 private: 66 68 void willBeDestroyed(RenderTreeBuilder&) override; … … 70 72 bool isMenuList() const override { return true; } 71 73 72 void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> newChild, RenderObject* beforeChild = 0) override;73 74 bool createsAnonymousWrapper() const override { return true; } 74 75 -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
r228542 r228547 202 202 203 203 if (is<RenderButton>(parent)) { 204 insertRecursiveIfNeeded(formControlsBuilder().createInnerRendererIfNeeded(downcast<RenderButton>(parent)));204 formControlsBuilder().insertChild(downcast<RenderButton>(parent), WTFMove(child), beforeChild); 205 205 return; 206 206 } 207 207 208 208 if (is<RenderMenuList>(parent)) { 209 insertRecursiveIfNeeded(formControlsBuilder().createInnerRendererIfNeeded(downcast<RenderMenuList>(parent)));209 formControlsBuilder().insertChild(downcast<RenderMenuList>(parent), WTFMove(child), beforeChild); 210 210 return; 211 211 } -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilderFormControls.cpp
r226273 r228547 37 37 } 38 38 39 RenderBlock& RenderTreeBuilder::FormControls::createInnerRendererIfNeeded(RenderButton& button)39 void RenderTreeBuilder::FormControls::insertChild(RenderButton& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild) 40 40 { 41 auto* innerRenderer = button.innerRenderer(); 41 m_builder.blockBuilder().insertChild(findOrCreateParentForChild(parent), WTFMove(child), beforeChild); 42 } 43 44 void RenderTreeBuilder::FormControls::insertChild(RenderMenuList& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild) 45 { 46 auto& newChild = *child.get(); 47 m_builder.blockBuilder().insertChild(findOrCreateParentForChild(parent), WTFMove(child), beforeChild); 48 parent.didInsertChild(newChild, beforeChild); 49 } 50 51 RenderBlock& RenderTreeBuilder::FormControls::findOrCreateParentForChild(RenderButton& parent) 52 { 53 auto* innerRenderer = parent.innerRenderer(); 42 54 if (innerRenderer) 43 55 return *innerRenderer; 44 56 45 auto wrapper = button.createAnonymousBlock(button.style().display());57 auto wrapper = parent.createAnonymousBlock(parent.style().display()); 46 58 innerRenderer = wrapper.get(); 47 button.RenderFlexibleBox::addChild(m_builder, WTFMove(wrapper));48 button.setInnerRenderer(*innerRenderer);59 parent.RenderFlexibleBox::addChild(m_builder, WTFMove(wrapper)); 60 parent.setInnerRenderer(*innerRenderer); 49 61 return *innerRenderer; 50 62 } 51 63 52 RenderBlock& RenderTreeBuilder::FormControls:: createInnerRendererIfNeeded(RenderMenuList& menuList)64 RenderBlock& RenderTreeBuilder::FormControls::findOrCreateParentForChild(RenderMenuList& parent) 53 65 { 54 auto* innerRenderer = menuList.innerRenderer();66 auto* innerRenderer = parent.innerRenderer(); 55 67 if (innerRenderer) 56 68 return *innerRenderer; 57 69 58 auto wrapper = menuList.createAnonymousBlock();70 auto wrapper = parent.createAnonymousBlock(); 59 71 innerRenderer = wrapper.get(); 60 menuList.RenderFlexibleBox::addChild(m_builder, WTFMove(wrapper));61 menuList.setInnerRenderer(*innerRenderer);72 parent.RenderFlexibleBox::addChild(m_builder, WTFMove(wrapper)); 73 parent.setInnerRenderer(*innerRenderer); 62 74 return *innerRenderer; 63 75 } -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilderFormControls.h
r226273 r228547 38 38 FormControls(RenderTreeBuilder&); 39 39 40 RenderBlock& createInnerRendererIfNeeded(RenderButton&);41 RenderBlock& createInnerRendererIfNeeded(RenderMenuList&);40 void insertChild(RenderButton& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild); 41 void insertChild(RenderMenuList& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild); 42 42 43 43 private: 44 RenderBlock& findOrCreateParentForChild(RenderButton&); 45 RenderBlock& findOrCreateParentForChild(RenderMenuList&); 46 44 47 RenderTreeBuilder& m_builder; 45 48 };
Note: See TracChangeset
for help on using the changeset viewer.