Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5d5ab2203d17fc9ba78c8fc31da123b4fe7ba372
https://github.com/WebKit/WebKit/commit/5d5ab2203d17fc9ba78c8fc31da123b4fe7ba372
Author: Sammy Gill <[email protected]>
Date: 2025-10-29 (Wed, 29 Oct 2025)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/css/CSS2/floats/crashtests/float-rewind-parallel-flow-3-crash.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/abspos-static-position-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/abspos-static-position.html
M Source/WebCore/rendering/PositionedLayoutConstraints.cpp
Log Message:
-----------
REGRESSION(302102@main): daringfireball.net layout is broken at wider window
widths when zooming
https://bugs.webkit.org/show_bug.cgi?id=301641
rdar://163643492
Reviewed by Alan Baradlay.
When we compute the static position for an OOF box we walk up the
ancestor renderers and check their geometry. Since this process we check
the used value of the renderers, we end up getting the values with zoom
applied.
The problem is that when we take these values and then put them inside of
an Style::InsetEdge as a fixed value we end up applying zoom again when
evaluting this value. This happens when we call
PositionedLayoutConstraints::inset{Before, After}
which is done after we compute the static position to modify the inset
modified containing range's position. This position is then used to
resolve the location of the OOF box in
PositionedLayoutConstrains::resolvePosition.
The fix is to divide out the used zoom before we set these values on the
InsetEdges. Note that we need to use usedValueForLength()'s value
because directly calling usedZoom() would result in incorrect behavior
with EvaluationTimeZoom disabled.
*
LayoutTests/imported/w3c/web-platform-tests/css/CSS2/floats/crashtests/float-rewind-parallel-flow-3-crash.html:
This test was marked to disable EvaluationTimeZoomEnabled in 302102@main
but is now passing with the changes in this patch.
Canonical link: https://commits.webkit.org/302331@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications