[webkit-changes] [WebKit/WebKit] e4fa5c: Make it possible to get the scrolling tree with UI...
Simon Fraser
noreply at github.com
Thu Jan 26 15:26:09 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e4fa5c5f61bb9b6d345275cf05d8246fb5ac9952
https://github.com/WebKit/WebKit/commit/e4fa5c5f61bb9b6d345275cf05d8246fb5ac9952
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2023-01-26 (Thu, 26 Jan 2023)
Changed paths:
A LayoutTests/platform/mac-gpup/scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe-expected.txt
M LayoutTests/resources/ui-helper.js
M LayoutTests/scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe-expected.txt
M LayoutTests/scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe.html
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
M Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h
M Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm
M Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.h
M Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm
M Tools/WebKitTestRunner/mac/UIScriptControllerMac.h
Log Message:
-----------
Make it possible to get the scrolling tree with UI-side compositing on macOS
https://bugs.webkit.org/show_bug.cgi?id=251193
rdar://104681297
Reviewed by Tim Horton.
`window.internals.scrollingTreeAsText()` only works when we have a scrolling tree in the web process,
i.e. only with non-UI-side compositing. In order to make tests work with both UI-side and non-UI-side
compositing, add `internals.haveScrollingTree()` and use it in `UIHelper.getScrollingTree()` to know
when we should use UIScriptController to fetch the scrolling tree from the UI process.
Make the existing WKWebView testing code for getting the scrolling tree work on both
macOS and iOS.
Fix up one test (fixed-background-in-overflow-in-iframe.html) to use the new thing; other
tests will be fixed soon.
* LayoutTests/platform/mac-gpup/scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe-expected.txt: Copied from LayoutTests/scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe-expected.txt.
* LayoutTests/resources/ui-helper.js:
(window.UIHelper.getScrollingTree):
* LayoutTests/scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe-expected.txt:
* LayoutTests/scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe.html:
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::haveScrollingTree const):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::haveScrollingTree const):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::haveScrollingTree const):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _scrollingTreeAsText]):
* Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
* Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _scrollingTreeAsText]): Deleted.
* Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::scrollingTreeAsText const):
* Tools/WebKitTestRunner/mac/UIScriptControllerMac.h:
Canonical link: https://commits.webkit.org/259457@main
More information about the webkit-changes
mailing list