Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1b76e4686699e16dd34b95d16f1ce894c0baa943
      
https://github.com/WebKit/WebKit/commit/1b76e4686699e16dd34b95d16f1ce894c0baa943
  Author: Charlie Wolfe <charl...@apple.com>
  Date:   2025-03-20 (Thu, 20 Mar 2025)

  Changed paths:
    M Source/WebCore/page/Frame.cpp
    M Source/WebKit/Shared/ProvisionalFrameCreationParameters.h
    M Source/WebKit/Shared/ProvisionalFrameCreationParameters.serialization.in
    M Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp
    M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Source/WebKit/WebProcess/WebPage/WebFrame.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  [Site Isolation] Opener is lost after navigation by an opened window
https://bugs.webkit.org/show_bug.cgi?id=289838
rdar://147084847

Reviewed by Pascoe, Alex Christensen, and Brady Eidson.

When creating a new page, the UI process includes the opener’s frameID in the 
creation parameters but not
the frameIDs of its opened windows. So, if an opened window navigates its 
opener, the opener relationship
is lost. When a provisional frame is committed, we should take the opener and 
opened windows from the
Frame that was there before the provisional navigation.

* Source/WebCore/page/Frame.cpp:
(WebCore::Frame::takeWindowProxyAndOpenerFrom):
* Source/WebKit/Shared/ProvisionalFrameCreationParameters.h:
* Source/WebKit/Shared/ProvisionalFrameCreationParameters.serialization.in:
* Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp:
(WebKit::ProvisionalFrameProxy::ProvisionalFrameProxy):
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::initializeWebPage):
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createProvisionalFrame):
(WebKit::WebFrame::destroyProvisionalFrame):
(WebKit::WebFrame::commitProvisionalFrame):
* Source/WebKit/WebProcess/WebPage/WebFrame.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation, NavigateOpener)):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to