Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 538b503285b8484286ba03b3a0e7c96279f7f7a8
      
https://github.com/WebKit/WebKit/commit/538b503285b8484286ba03b3a0e7c96279f7f7a8
  Author: Alex Christensen <achristen...@apple.com>
  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
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to