Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9aa5775e5d82a4f4eb5c59809e231a7ca2db3ebf
      
https://github.com/WebKit/WebKit/commit/9aa5775e5d82a4f4eb5c59809e231a7ca2db3ebf
  Author: Wenson Hsieh <wenson_hs...@apple.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M 
LayoutTests/fast/page-color-sampling/color-sampling-fixed-container-under-subscroller.html
    M Source/WebCore/page/LocalFrameView.cpp

  Log Message:
  -----------
  [iOS] Fix several flaky tests in fast/page-color-sampling
https://bugs.webkit.org/show_bug.cgi?id=291461

Reviewed by Megan Gardner and Aditya Keerthi.

Fix a couple of flaky test failures observed on debug iOS test runners; see 
below for more details.

* 
LayoutTests/fast/page-color-sampling/color-sampling-fixed-container-under-subscroller.html:

This layout test currently causes the next layout test that's run to fail, 
while resetting the test
harness to a consistent state by loading about:blank, due to a debug assert in 
`windowClipRect()`:

```
Thread 0 Crashed:
0   WebCore                                0x300002664 WTFCrashWithInfo(int, 
char const*, char const*, int) + 100
1   WebCore                                0x305976854 
WebCore::LocalFrameView::windowClipRect() const + 184
2   WebCore                                0x305970f00 
WebCore::LocalFrameView::applyRecursivelyWithVisibleRect(WTF::Function<void 
(WebCore::LocalFrameView&, WebCore::IntRect const&)> const&) + 32
3   WebCore                                0x305965f74 
WebCore::LocalFrameView::viewportContentsChanged() + 148

    …

15  WebCore                                0x305c8fff8 
WebCore::ScrollView::setScrollbarModes(WebCore::ScrollbarMode, 
WebCore::ScrollbarMode, bool, bool) + 320
16  WebCore                                0x305965074 
WebCore::LocalFrameView::resetScrollbars() + 100
17  WebCore                                0x305964b68 
WebCore::LocalFrameView::~LocalFrameView() + 40
18  WebCore                                0x3059652c8 
WebCore::LocalFrameView::~LocalFrameView() + 28

    …

25  WebKit                                 0x11c905388 
WebKit::WebLocalFrameLoaderClient::transitionToCommittedForNewPage(WebCore::LocalFrameLoaderClient::InitializingIframe)
 + 2156 (WebLocalFrameLoaderClient.cpp:1610)
26  WebCore                                0x3056304c4 
WebCore::FrameLoader::transitionToCommitted(WebCore::CachedPage*) + 2392
27  WebCore                                0x30562ee68 
WebCore::FrameLoader::commitProvisionalLoad() + 2024
28  WebCore                                0x3055b30c4 
WebCore::DocumentLoader::commitIfReady() + 100
```

Notably, this debug assertion is hit even after disabling all color sampling 
logic, so it's likely
an existing issue exposed by the new layout test. For now, work around it by 
manually resetting the
obscured insets before ending the test; I've filed https://webkit.org/b/291464 
to track the
underlying issue.

* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::fixedContainerEdges const):

Also check that `resultsList` is non-empty before accessing the first element 
in the `ListHashSet`.

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



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

Reply via email to