Changeset 280906 in webkit
- Timestamp:
- Aug 11, 2021, 4:24:34 AM (5 years ago)
- Location:
- releases/WebKitGTK/webkit-2.32/Source/WebCore
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
rendering/updating/RenderTreeBuilder.cpp (modified) (3 diffs)
-
rendering/updating/RenderTreeBuilder.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog
r280905 r280906 1 2021-03-26 Zalan Bujtas <zalan@apple.com> 2 3 [RenderTreeBuilder] No need to update the counters when the renderer is moved internally 4 https://bugs.webkit.org/show_bug.cgi?id=223801 5 <rdar://75835208> 6 7 Reviewed by Ryosuke Niwa. 8 9 When the renderer re-parenting is initiated by an "internal move" (e.g. anonymous block parent is not needed anymore so all the descendants 10 are moved "one level" up), we don't need to re-compute the counters. Their state should not be any different after this re-parenting. 11 12 * rendering/updating/RenderTreeBuilder.cpp: 13 (WebCore::RenderTreeBuilder::attachToRenderElementInternal): 14 (WebCore::RenderTreeBuilder::move): 15 * rendering/updating/RenderTreeBuilder.h: 16 1 17 2021-03-23 Frédéric Wang <fwang@igalia.com> 2 18 -
releases/WebKitGTK/webkit-2.32/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
r280893 r280906 426 426 } 427 427 428 void RenderTreeBuilder::attachToRenderElementInternal(RenderElement& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild )428 void RenderTreeBuilder::attachToRenderElementInternal(RenderElement& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild, ReinsertAfterMove reinsertAfterMove) 429 429 { 430 430 RELEASE_ASSERT_WITH_MESSAGE(!parent.view().frameView().layoutContext().layoutState(), "Layout must not mutate render tree"); … … 450 450 multiColumnBuilder().multiColumnDescendantInserted(downcast<RenderMultiColumnFlow>(*fragmentedFlow), *newChild); 451 451 452 if (is<RenderElement>(*newChild)) 452 // FIXME: needsStateReset could probably be used for multicolumn as well. 453 auto needsStateReset = reinsertAfterMove == ReinsertAfterMove::No; 454 if (needsStateReset && is<RenderElement>(*newChild)) 453 455 RenderCounter::rendererSubtreeAttached(downcast<RenderElement>(*newChild)); 454 456 } … … 481 483 } else { 482 484 auto childToMove = detachFromRenderElement(from, child); 483 attachToRenderElementInternal(to, WTFMove(childToMove), beforeChild );485 attachToRenderElementInternal(to, WTFMove(childToMove), beforeChild, ReinsertAfterMove::Yes); 484 486 } 485 487 } -
releases/WebKitGTK/webkit-2.32/Source/WebCore/rendering/updating/RenderTreeBuilder.h
r262743 r280906 71 71 void attachToRenderGrid(RenderGrid& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr); 72 72 void attachToRenderElement(RenderElement& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr); 73 void attachToRenderElementInternal(RenderElement& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr); 73 enum class ReinsertAfterMove { No, Yes }; 74 void attachToRenderElementInternal(RenderElement& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr, ReinsertAfterMove = ReinsertAfterMove::No); 74 75 75 76 enum class WillBeDestroyed { No, Yes };
Note:
See TracChangeset
for help on using the changeset viewer.