Changeset 228428 in webkit
- Timestamp:
- Feb 13, 2018 11:52:46 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r228427 r228428 1 2018-02-13 Zalan Bujtas <zalan@apple.com> 2 3 [RenderTreeBuilder] Move RenderGrid::takeChild() to RenderTreeBuilder 4 https://bugs.webkit.org/show_bug.cgi?id=182734 5 <rdar://problem/37500876> 6 7 Reviewed by Antti Koivisto. 8 9 No change in functionality. 10 11 * rendering/RenderGrid.cpp: 12 (WebCore::RenderGrid::takeChild): Deleted. 13 * rendering/RenderGrid.h: 14 * rendering/updating/RenderTreeBuilder.cpp: 15 (WebCore::RenderTreeBuilder::takeChildFromRenderGrid): 16 * rendering/updating/RenderTreeBuilder.h: 17 1 18 2018-02-13 Nan Wang <n_wang@apple.com> 2 19 -
trunk/Source/WebCore/rendering/RenderGrid.cpp
r228319 r228428 84 84 // will change their position. 85 85 dirtyGrid(); 86 }87 88 RenderPtr<RenderObject> RenderGrid::takeChild(RenderTreeBuilder& builder, RenderObject& child)89 {90 auto takenChild = RenderBlock::takeChild(builder, child);91 92 // Positioned grid items do not take up space or otherwise participate in the layout of the grid,93 // for that reason we don't need to mark the grid as dirty when they are removed.94 if (child.isOutOfFlowPositioned())95 return takenChild;96 97 // The grid needs to be recomputed as it might contain auto-placed items that98 // will change their position.99 dirtyGrid();100 return takenChild;101 86 } 102 87 -
trunk/Source/WebCore/rendering/RenderGrid.h
r227977 r228428 81 81 82 82 void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> newChild, RenderObject* beforeChild) final; 83 RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) final;84 83 85 84 StyleSelfAlignmentData selfAlignmentForChild(GridAxis, const RenderBox&, const RenderStyle* = nullptr) const; -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
r228423 r228428 29 29 #include "RenderButton.h" 30 30 #include "RenderElement.h" 31 #include "RenderGrid.h" 31 32 #include "RenderMenuList.h" 32 33 #include "RenderRuby.h" … … 203 204 return takeChildFromRenderMenuList(downcast<RenderMenuList>(parent), child); 204 205 206 if (is<RenderButton>(parent)) 207 return takeChildFromRenderButton(downcast<RenderButton>(parent), child); 208 209 if (is<RenderGrid>(parent)) 210 return takeChildFromRenderGrid(downcast<RenderGrid>(parent), child); 211 205 212 return parent.takeChild(*this, child); 206 213 } … … 533 540 } 534 541 535 } 542 RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderGrid(RenderGrid& parent, RenderObject& child) 543 { 544 auto takenChild = parent.RenderBlock::takeChild(*this, child); 545 // Positioned grid items do not take up space or otherwise participate in the layout of the grid, 546 // for that reason we don't need to mark the grid as dirty when they are removed. 547 if (child.isOutOfFlowPositioned()) 548 return takenChild; 549 550 // The grid needs to be recomputed as it might contain auto-placed items that will change their position. 551 parent.dirtyGrid(); 552 return takenChild; 553 } 554 555 } -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h
r228423 r228428 31 31 32 32 class RenderButton; 33 class RenderGrid; 33 34 class RenderMathMLFenced; 34 35 class RenderMenuList; … … 108 109 RenderPtr<RenderObject> takeChildFromRenderMenuList(RenderMenuList& parent, RenderObject& child); 109 110 RenderPtr<RenderObject> takeChildFromRenderButton(RenderButton& parent, RenderObject& child); 111 RenderPtr<RenderObject> takeChildFromRenderGrid(RenderGrid& parent, RenderObject& child); 110 112 111 113 FirstLetter& firstLetterBuilder() { return *m_firstLetterBuilder; }
Note: See TracChangeset
for help on using the changeset viewer.