[webkit-changes] [WebKit/WebKit] 2d9f08: Implement parent frame navigating cross-origin sit...

Alex Christensen noreply at github.com
Tue Jul 11 12:52:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2d9f08c1837f9690fba5be2fa56c2858e57855b6
      https://github.com/WebKit/WebKit/commit/2d9f08c1837f9690fba5be2fa56c2858e57855b6
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2023-07-11 (Tue, 11 Jul 2023)

  Changed paths:
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  Implement parent frame navigating cross-origin site-isolated iframes
https://bugs.webkit.org/show_bug.cgi?id=259087
rdar://112048587

Reviewed by J Pascoe.

In order to keep track of processes in this case, we need up to 3 different ones:
1. The process that is initiating the navigation.  In these cases it is the main frame's process.
2. The process that the frame is navigating away from.  This is not always the same as 1,
   such as when a cross-origin site-isolated iframe is being navigated by its parent.
3. The process that the frame is navigating to.  This can be distinct from the other two.

* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::didCommitLoadForFrame):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationActionAsync):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::TEST):

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




More information about the webkit-changes mailing list