Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 84738405475ef105f150ad3d56be0e0c268902a2
https://github.com/WebKit/WebKit/commit/84738405475ef105f150ad3d56be0e0c268902a2
Author: Anthony Tarbinian <[email protected]>
Date: 2025-11-19 (Wed, 19 Nov 2025)
Changed paths:
A
LayoutTests/http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-main-page-expected.txt
A
LayoutTests/http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-main-page.html
A
LayoutTests/http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-parent-iframe-expected.txt
A
LayoutTests/http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-parent-iframe.html
A
LayoutTests/http/tests/site-isolation/resources/frame-child-navigate-to-about-blank-from-cross-origin-initiated-by-parent-iframe.html
M Source/WebKit/Shared/ProvisionalFrameCreationParameters.h
M Source/WebKit/Shared/ProvisionalFrameCreationParameters.serialization.in
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp
M Source/WebKit/UIProcess/ProvisionalFrameProxy.h
M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
M Source/WebKit/UIProcess/WebFrameProxy.cpp
M Source/WebKit/UIProcess/WebFrameProxy.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] Navigation to about:blank inherits navigator's origin
https://bugs.webkit.org/show_bug.cgi?id=302102
rdar://160706600
Reviewed by Alex Christensen.
If an iframe is navigated to about:blank, it should inherit the origin
of whoever initiated the navigation.
With site isolation, this means that the about:blank iframe needs to
be in the same process as the navigator. If the iframe was previously
in a different origin than the navigator, this might require a process
swap.
This patch also attempts to perform these loads to about:blank "immediately"
by committing a provisional frame right after creating one since about:blank
iframes don't have any network resources to load.
Tests:
http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-main-page.html
http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-parent-iframe.html
*
LayoutTests/http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-main-page-expected.txt:
Added.
*
LayoutTests/http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-main-page.html:
Added.
*
LayoutTests/http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-parent-iframe-expected.txt:
Added.
*
LayoutTests/http/tests/site-isolation/navigate-to-about-blank-from-cross-origin-initiated-by-parent-iframe.html:
Added.
*
LayoutTests/http/tests/site-isolation/resources/frame-child-navigate-to-about-blank-from-cross-origin-initiated-by-parent-iframe.html:
Added.
* Source/WebKit/Shared/ProvisionalFrameCreationParameters.h:
* Source/WebKit/Shared/ProvisionalFrameCreationParameters.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp:
(WebKit::ProvisionalFrameProxy::ProvisionalFrameProxy):
* Source/WebKit/UIProcess/ProvisionalFrameProxy.h:
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::initializeWebPage):
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::prepareForProvisionalLoadInProcess):
(WebKit::WebFrameProxy::provisionalFrameCreationParameters):
* Source/WebKit/UIProcess/WebFrameProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createProvisionalFrame):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::(SiteIsolation,
MainPageNavigatesCrossOriginIframeToAboutBlank)):
(TestWebKitAPI::(SiteIsolation,
ChildIframeNavigatesCrossOriginGrandchildIframeToAboutBlank)):
Canonical link: https://commits.webkit.org/303299@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications