Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: dc39a4f07c9267e9ba56ee36c927340cff5ae585
https://github.com/WebKit/WebKit/commit/dc39a4f07c9267e9ba56ee36c927340cff5ae585
Author: Elika Etemad <[email protected]>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M Source/WebCore/rendering/RenderBlock.cpp
M Source/WebCore/rendering/RenderBlock.h
M Source/WebCore/rendering/RenderBlockFlow.cpp
M Source/WebCore/rendering/RenderBlockFlow.h
M Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp
M Source/WebCore/rendering/RenderFlexibleBox.cpp
M Source/WebCore/rendering/RenderGrid.cpp
M Source/WebCore/rendering/RenderTable.cpp
M Source/WebCore/rendering/RenderTextControlSingleLine.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.h
Log Message:
-----------
Split computeOverflow into separate in-flow and out-of-flow methods
https://bugs.webkit.org/show_bug.cgi?id=307884
rdar://170364335
Reviewed by Alan Baradlay.
In order to use the scrollable content area as the containing block for
absolute positioning, we need it to be computed before we lay out
absolutely positioned boxes, so split the overflow computation methods
for in-flow/out-of-flow boxes and call them before/after out-of-flow layout.
P.S. Because layout overflow bounds depend on transforms, also make sure we have
called updateDescendantTransformsAfterLayout() on the relevant boxes first --
which requires splitting it also into in-flow and out-of-flow methods.
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeInFlowOverflow):
(WebCore::RenderBlock::simplifiedLayout):
(WebCore::RenderBlock::updateInFlowDescendantTransformsAfterLayout):
(WebCore::RenderBlock::updateOutOfFlowDescendantTransformsAfterLayout):
(WebCore::RenderBlock::computeOverflow): Deleted.
(WebCore::RenderBlock::updateDescendantTransformsAfterLayout): Deleted.
* Source/WebCore/rendering/RenderBlock.h:
(WebCore::RenderBlock::computeInFlowOverflow):
(WebCore::RenderBlock::computeOverflow): Deleted.
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::computeInFlowOverflow):
(WebCore::RenderBlockFlow::computeOverflow): Deleted.
* Source/WebCore/rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::computeInFlowOverflow):
(WebCore::RenderBlockFlow::computeOverflow): Deleted.
* Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::RenderDeprecatedFlexibleBox::layoutSingleClampedFlexItem):
* Source/WebCore/rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* Source/WebCore/rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGrid):
(WebCore::RenderGrid::layoutMasonry):
* Source/WebCore/rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* Source/WebCore/rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
* Source/WebCore/rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::computeInFlowOverflow):
(WebCore::RenderSVGBlock::computeOverflow): Deleted.
* Source/WebCore/rendering/svg/RenderSVGBlock.h:
Canonical link: https://commits.webkit.org/307586@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications