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