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

Reply via email to