Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: aa79eb44da12c2e15d013674f2371cbbbc9c0b44
https://github.com/WebKit/WebKit/commit/aa79eb44da12c2e15d013674f2371cbbbc9c0b44
Author: Wenson Hsieh <[email protected]>
Date: 2025-11-07 (Fri, 07 Nov 2025)
Changed paths:
M LayoutTests/fast/scrolling/ios/bounding-client-rect-on-fixed-expected.txt
M LayoutTests/fast/scrolling/ios/bounding-client-rect-on-fixed.html
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
Log Message:
-----------
REGRESSION(301719@main)[iOS]:
fast/scrolling/ios/bounding-client-rect-on-fixed.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=302104
rdar://164189184
Reviewed by Abrar Rahman Protyasha.
In iOS 26, the changes in 295783@main fixed a long-standing bug related to
`getBoundingClientRect`
in viewport-constrained elements. However, in doing so, it caused another bug
because the "layout
viewport origin is close enough to the unobscured rect" heuristic
unintentionally checked against a
minimum delta of ≤3.125% of the scroll offset). This was subsequently fixed in
301719@main, which
attempted to keep the layout test added in 295783@main passing.
However, this subsequent change, 301719@main, ended up making the test flaky.
To mitigate this, we
raise the clamped maximum delta from 5 to 45, which (approximately) matches the
value of the delta
in `fast/scrolling/ios/bounding-client-rect-on-fixed.html`.
Note that this approach of clamping the layout viewport origin to the
unobscured content rect if
it's close enough (for some arbitrarily determined threshold) is still a hack —
I filed a followup
bug, https://bugs.webkit.org/show_bug.cgi?id=302123, to track finding and
fixing the real source of
the discrepancy.
* LayoutTests/fast/scrolling/ios/bounding-client-rect-on-fixed-expected.txt:
* LayoutTests/fast/scrolling/ios/bounding-client-rect-on-fixed.html:
Also adjust this test to report the _maximum_ delta, rather than the first
incorrect scroll
position; this allows us to (more easily) determine the extent of the error, in
the event this test
still ends up being flaky in automation.
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
Canonical link: https://commits.webkit.org/302711@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications