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

Reply via email to