Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e73bac5a990a922990c3182300f784c018472364
      
https://github.com/WebKit/WebKit/commit/e73bac5a990a922990c3182300f784c018472364
  Author: Wenson Hsieh <[email protected]>
  Date:   2025-07-10 (Thu, 10 Jul 2025)

  Changed paths:
    M 
LayoutTests/fast/page-color-sampling/basic-fixed-container-edge-sampling.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-fixed-ancestor-with-relative-container.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-fixed-container-under-subscroller.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-fixed-descendant-in-relative-container.html
    M LayoutTests/fast/page-color-sampling/color-sampling-fixed-popup.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-for-sticky-element-after-scrolling.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-backdrop-filters.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-empty-container.html
    M LayoutTests/fast/page-color-sampling/color-sampling-ignores-images.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-large-sticky-container.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-non-fixed-content.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-subscrollers.html
    M LayoutTests/fast/page-color-sampling/color-sampling-ignores-text.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-transparent-pointer-events-none-container.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-in-position-sticky.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-includes-sides-that-had-insets.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-includes-subframes.html
    M LayoutTests/fast/page-color-sampling/color-sampling-modal-popup.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-stability-for-same-element.html
    M 
LayoutTests/fast/page-color-sampling/color-sampling-while-rubber-banding.html
    M 
LayoutTests/fast/page-color-sampling/maintain-sampled-color-when-scrolled-to-top.html
    M LayoutTests/fast/page-color-sampling/no-resampling-after-scrolling.html
    M 
LayoutTests/fast/page-color-sampling/page-color-sampling-skips-border-top.html
    M 
LayoutTests/fast/page-color-sampling/page-color-sampling-skips-small-elements.html
    M LayoutTests/platform/ipad/TestExpectations
    M Tools/WebKitTestRunner/TestOptions.cpp
    M Tools/WebKitTestRunner/TestOptions.h
    M Tools/WebKitTestRunner/ios/TestControllerIOS.mm
    M Tools/WebKitTestRunner/mac/TestControllerMac.mm

  Log Message:
  -----------
  REGRESSION (296274@main): [ iPadOS ] 17x  fast/page-color-sampling 
(layout-tests) are constant text failures
https://bugs.webkit.org/show_bug.cgi?id=295720
rdar://155542222

Reviewed by Abrar Rahman Protyasha.

The changes in 296274@main caused a number of layout tests to begin failing on 
iPad. This is
(mostly) due to the fact that these tests currently set nonzero obscured 
content insets only after
page load, which — due to scrolling — cause the sampled top color to be frozen 
at their current
value for the rest of the test. This scrolling occurs as iOS automatically 
maintains the scroll
origin at the top left (accounting for obscured insets).

This does not affect iPhone, because this new behavior is limited to only when 
the user interface
idiom is not "small screen".

To fix this, we ensure that the web view either starts with the expected top 
and left obscured
insets on iPad, or otherwise enables 
`TopContentInsetBackgroundCanChangeAfterScrolling` if the test
exercises dynamic color sampling when the top fixed element changes. This more 
closely simulates the
real user-facing scenario in Safari anyways, where the obscured inset doesn't 
change after the
document has already been loaded.

* LayoutTests/fast/page-color-sampling/basic-fixed-container-edge-sampling.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-fixed-ancestor-with-relative-container.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-fixed-container-under-subscroller.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-fixed-descendant-in-relative-container.html:
* LayoutTests/fast/page-color-sampling/color-sampling-fixed-popup.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-for-sticky-element-after-scrolling.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-backdrop-filters.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-empty-container.html:
* LayoutTests/fast/page-color-sampling/color-sampling-ignores-images.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-large-sticky-container.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-non-fixed-content.html:
* LayoutTests/fast/page-color-sampling/color-sampling-ignores-subscrollers.html:
* LayoutTests/fast/page-color-sampling/color-sampling-ignores-text.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-ignores-transparent-pointer-events-none-container.html:
* LayoutTests/fast/page-color-sampling/color-sampling-in-position-sticky.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-includes-sides-that-had-insets.html:
* LayoutTests/fast/page-color-sampling/color-sampling-includes-subframes.html:
* LayoutTests/fast/page-color-sampling/color-sampling-modal-popup.html:
* 
LayoutTests/fast/page-color-sampling/color-sampling-stability-for-same-element.html:
* LayoutTests/fast/page-color-sampling/color-sampling-while-rubber-banding.html:
* 
LayoutTests/fast/page-color-sampling/maintain-sampled-color-when-scrolled-to-top.html:
* LayoutTests/fast/page-color-sampling/no-resampling-after-scrolling.html:
* 
LayoutTests/fast/page-color-sampling/page-color-sampling-skips-border-top.html:
* 
LayoutTests/fast/page-color-sampling/page-color-sampling-skips-small-elements.html:

Deploy the new test option in all `fast/page-color-sampling` layout tests, to 
ensure that the top
and left inset values don't need to change on the fly after page load. For a 
small handful of tests
that must either change obscured insets on the fly or add bottom/right insets, 
we continue using
`UIHelper.setObscuredInsets`.

* LayoutTests/platform/ipad/TestExpectations:
* Tools/WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
(WTR::TestOptions::keyTypeMapping):
* Tools/WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::obscuredInsetLeft const):
* Tools/WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* Tools/WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformResetStateToConsistentValues):

Add support for an `obscuredInset.left` test option, and additionally add 
support for both
`obscuredInset.(top|left)` on macOS.

Canonical link: https://commits.webkit.org/297238@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to