Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 538b503285b8484286ba03b3a0e7c96279f7f7a8
https://github.com/WebKit/WebKit/commit/538b503285b8484286ba03b3a0e7c96279f7f7a8
Author: Alex Christensen <[email protected]>
Date: 2023-05-10 (Wed, 10 May 2023)
Changed paths:
M Source/WebKit/Shared/FrameInfoData.h
M Source/WebKit/Shared/FrameInfoData.serialization.in
M Source/WebKit/UIProcess/API/APIFrameInfo.h
M Source/WebKit/UIProcess/API/APIFrameTreeNode.h
M Source/WebKit/UIProcess/API/Cocoa/WKFrameInfo.mm
M Source/WebKit/UIProcess/API/Cocoa/WKFrameInfoPrivate.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
M Source/WebKit/UIProcess/API/Cocoa/_WKFrameTreeNode.h
M Source/WebKit/UIProcess/API/Cocoa/_WKFrameTreeNode.mm
M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm
M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
M Source/WebKit/WebProcess/WebPage/WebFrame.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm
Log Message:
-----------
Add test SPI to see the entire frame trees in all processes for site isolation
https://bugs.webkit.org/show_bug.cgi?id=256574
rdar://109134755
Reviewed by J Pascoe and Youenn Fablet.
WKWebView._frames gets info about the frame tree from whatever process each
frame is in.
In order to add tests that verifies the whole frame tree state in multiple
process during
operations like frame destruction, we need to get the whole frame tree state
from each
process and inspect all of it. This introduces such SPI and uses it for tests.
* Source/WebKit/Shared/FrameInfoData.h:
* Source/WebKit/Shared/FrameInfoData.serialization.in:
* Source/WebKit/UIProcess/API/APIFrameInfo.h:
* Source/WebKit/UIProcess/API/APIFrameTreeNode.h:
* Source/WebKit/UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo _isLocalFrame]):
* Source/WebKit/UIProcess/API/Cocoa/WKFrameInfoPrivate.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _frames:]):
(-[WKWebView _frameTrees:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKFrameTreeNode.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKFrameTreeNode.mm:
(-[_WKFrameTreeNode info]):
(-[_WKFrameTreeNode _isLocalFrame]):
* Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::promptForDisplayCapturePermission):
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::cancel):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getAllFrameTrees):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::info const):
(WebKit::WebFrame::frameTreeData const):
* Source/WebKit/WebProcess/WebPage/WebFrame.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getFrameTree):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::nullTerminatedIndentation):
(TestWebKitAPI::debugPrint):
(TestWebKitAPI::frameTreesMatch):
(TestWebKitAPI::checkFrameTreesInProcesses):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/263912@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes