[webkit-changes] [WebKit/WebKit] d2f304: WebFrame::didCommitLoadInAnotherProcess should wor...

Alex Christensen noreply at github.com
Mon May 22 10:31:54 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d2f3048d0225e4f7ebf5d30f65d2d3f49fb67f50
      https://github.com/WebKit/WebKit/commit/d2f3048d0225e4f7ebf5d30f65d2d3f49fb67f50
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2023-05-22 (Mon, 22 May 2023)

  Changed paths:
    M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  WebFrame::didCommitLoadInAnotherProcess should work with frames that don't have an owner element or parent in the same process
https://bugs.webkit.org/show_bug.cgi?id=257125
rdar://109663423

Reviewed by Chris Dumez.

It can happen without an owner element in the same process when a site isolated iframe navigates to a new domain,
such as in the ParentNavigatingCrossOriginIframeToSameOrigin API test.

It can happen without a parent when window.open is used to make a popup that is site isolated, which hasn't landed
yet but will soon.  So this does some of the same things as https://github.com/WebKit/WebKit/pull/10169

I also noticed that the code in the completion lambda of WebRemoteFrameClient::changeLocation wasn't called so I removed
it and replaced it with a comment explaining what is actually happening.

* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp:
(WebKit::WebRemoteFrameClient::changeLocation):
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::didCommitLoadInAnotherProcess):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::TEST):

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




More information about the webkit-changes mailing list