Changeset 228391 in webkit
- Timestamp:
- Feb 12, 2018 1:49:51 PM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r228390 r228391 1 2018-02-12 Zalan Bujtas <zalan@apple.com> 2 3 [RenderTreeBuilder] Move RenderBlock::dropAnonymousBoxChild to RenderTreeBuilder 4 https://bugs.webkit.org/show_bug.cgi?id=182704 5 <rdar://problem/37469469> 6 7 Reviewed by Antti Koivisto. 8 9 All the callsites are now in RenderTreeBuilder. 10 11 No change in functionality. 12 13 * rendering/RenderBlock.cpp: 14 (WebCore::RenderBlock::dropAnonymousBoxChild): Deleted. 15 * rendering/RenderBlock.h: 16 * rendering/updating/RenderTreeBuilder.cpp: 17 (WebCore::RenderTreeBuilder::removeAnonymousWrappersForInlineChildrenIfNeeded): 18 (WebCore::RenderTreeBuilder::dropAnonymousBoxChild): 19 * rendering/updating/RenderTreeBuilder.h: 20 * rendering/updating/RenderTreeBuilderBlock.cpp: 21 (WebCore::RenderTreeBuilder::Block::takeChild): 22 (WebCore::RenderTreeBuilder::Block::dropAnonymousBoxChild): 23 * rendering/updating/RenderTreeBuilderBlock.h: 24 1 25 2018-02-12 Matt Lewis <jlewis3@apple.com> 2 26 -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r228365 r228391 483 483 } 484 484 485 void RenderBlock::dropAnonymousBoxChild(RenderTreeBuilder& builder, RenderBlock& child)486 {487 setNeedsLayoutAndPrefWidthsRecalc();488 setChildrenInline(child.childrenInline());489 RenderObject* nextSibling = child.nextSibling();490 491 auto toBeDeleted = takeChildInternal(child);492 child.moveAllChildrenTo(builder, this, nextSibling, RenderBoxModelObject::NormalizeAfterInsertion::No);493 // Delete the now-empty block's lines and nuke it.494 child.deleteLines();495 }496 497 485 RenderPtr<RenderObject> RenderBlock::takeChild(RenderTreeBuilder& builder, RenderObject& oldChild) 498 486 { -
trunk/Source/WebCore/rendering/RenderBlock.h
r228365 r228391 192 192 static RenderPtr<RenderBlock> createAnonymousWithParentRendererAndDisplay(const RenderBox& parent, EDisplay = BLOCK); 193 193 RenderPtr<RenderBlock> createAnonymousBlock(EDisplay = BLOCK) const; 194 void dropAnonymousBoxChild(RenderTreeBuilder&, RenderBlock& child);195 194 196 195 RenderPtr<RenderBox> createAnonymousBoxWithSameTypeAs(const RenderBox&) const override; -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
r228365 r228391 343 343 next = current->nextSibling(); 344 344 if (current->isAnonymousBlock()) 345 block Parent.dropAnonymousBoxChild(*this, downcast<RenderBlock>(*current));345 blockBuilder().dropAnonymousBoxChild(blockParent, downcast<RenderBlock>(*current)); 346 346 } 347 347 } … … 406 406 // WARNING: child is deleted here. 407 407 } 408 409 void RenderTreeBuilder::dropAnonymousBoxChild(RenderBlock& parent, RenderBlock& child) 410 { 411 blockBuilder().dropAnonymousBoxChild(parent, child); 412 } 413 408 414 void RenderTreeBuilder::multiColumnRelativeWillBeRemoved(RenderMultiColumnFlow& flow, RenderObject& relative) 409 415 { -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h
r228365 r228391 89 89 void multiColumnDescendantInserted(RenderMultiColumnFlow&, RenderObject& newDescendant); 90 90 void multiColumnRelativeWillBeRemoved(RenderMultiColumnFlow&, RenderObject& relative); 91 void dropAnonymousBoxChild(RenderBlock& parent, RenderBlock& child); 91 92 92 93 private: -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp
r228365 r228391 326 326 // The removal has knocked us down to containing only a single anonymous 327 327 // box. We can pull the content right back up into our box. 328 parent.dropAnonymousBoxChild(m_builder, downcast<RenderBlock>(*child));328 dropAnonymousBoxChild(parent, downcast<RenderBlock>(*child)); 329 329 } else if (((prev && prev->isAnonymousBlock()) || (next && next->isAnonymousBlock())) && parent.canDropAnonymousBlockChild()) { 330 330 // It's possible that the removal has knocked us down to a single anonymous … … 342 342 } 343 343 if (dropAnonymousBlock) 344 parent.dropAnonymousBoxChild(m_builder, anonBlock);344 dropAnonymousBoxChild(parent, anonBlock); 345 345 } 346 346 } … … 354 354 } 355 355 356 } 356 void RenderTreeBuilder::Block::dropAnonymousBoxChild(RenderBlock& parent, RenderBlock& child) 357 { 358 parent.setNeedsLayoutAndPrefWidthsRecalc(); 359 parent.setChildrenInline(child.childrenInline()); 360 auto* nextSibling = child.nextSibling(); 361 362 auto toBeDeleted = parent.takeChildInternal(child); 363 child.moveAllChildrenTo(m_builder, &parent, nextSibling, RenderBoxModelObject::NormalizeAfterInsertion::No); 364 // Delete the now-empty block's lines and nuke it. 365 child.deleteLines(); 366 } 367 368 } -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.h
r228365 r228391 39 39 RenderPtr<RenderObject> takeChild(RenderBlock& parent, RenderObject& oldChild); 40 40 41 void dropAnonymousBoxChild(RenderBlock& parent, RenderBlock& child); 41 42 void childBecameNonInline(RenderBlock& parent, RenderElement& child); 42 43
Note: See TracChangeset
for help on using the changeset viewer.