Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9f20aa832a809ab8603f85748c82df2e40179101
https://github.com/WebKit/WebKit/commit/9f20aa832a809ab8603f85748c82df2e40179101
Author: Yoav Weiss <[email protected]>
Date: 2025-12-10 (Wed, 10 Dec 2025)
Changed paths:
M LayoutTests/http/tests/dom/noopener-window-not-targetable-expected.txt
M LayoutTests/http/tests/dom/noopener-window-not-targetable.html
M LayoutTests/http/tests/dom/noopener-window-not-targetable2-expected.txt
M LayoutTests/http/tests/dom/noopener-window-not-targetable2.html
M LayoutTests/http/tests/dom/noreferrer-window-not-targetable-expected.txt
M LayoutTests/http/tests/dom/noreferrer-window-not-targetable.html
A
LayoutTests/http/tests/site-isolation/cross-site-noopener-uses-different-process-expected.txt
A
LayoutTests/http/tests/site-isolation/cross-site-noopener-uses-different-process.html
A
LayoutTests/http/tests/site-isolation/cross-site-window-open-uses-different-process-expected.txt
A
LayoutTests/http/tests/site-isolation/cross-site-window-open-uses-different-process.html
A
LayoutTests/http/tests/site-isolation/resources/report-process-id-via-broadcast.html
A LayoutTests/http/tests/site-isolation/resources/report-process-id.html
A LayoutTests/http/tests/site-isolation/resources/simple-page.html
A
LayoutTests/http/tests/site-isolation/same-site-noopener-uses-same-process-expected.txt
A
LayoutTests/http/tests/site-isolation/same-site-noopener-uses-same-process.html
M
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/clear-prefetch-cache-after-clear-site-data-cache.https-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/initiators-a-element.sub.https_same-site-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/initiators-window-open.sub.https_same-site-expected.txt
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm
Log Message:
-----------
Do not start same-site navigations in a new process
https://bugs.webkit.org/show_bug.cgi?id=303637
Reviewed by Alex Christensen.
This PR makes sure that same site navigations don't get allocated into a new
process, by setting a related page and then comparing the URL to it.
No new tests, but a few progressions.
* LayoutTests/http/tests/dom/noopener-window-not-targetable-expected.txt:
Expectation change.
* LayoutTests/http/tests/dom/noopener-window-not-targetable.html: Expectation
change.
* LayoutTests/http/tests/dom/noopener-window-not-targetable2-expected.txt:
Expectation change.
* LayoutTests/http/tests/dom/noopener-window-not-targetable2.html: Expectation
change.
* LayoutTests/http/tests/dom/noreferrer-window-not-targetable-expected.txt:
Expectation change.
* LayoutTests/http/tests/dom/noreferrer-window-not-targetable.html: Expectation
change.
*
LayoutTests/http/tests/site-isolation/cross-site-noopener-uses-different-process-expected.txt:
Added.
*
LayoutTests/http/tests/site-isolation/cross-site-noopener-uses-different-process.html:
Added.
*
LayoutTests/http/tests/site-isolation/cross-site-window-open-uses-different-process-expected.txt:
Added.
*
LayoutTests/http/tests/site-isolation/cross-site-window-open-uses-different-process.html:
Added.
*
LayoutTests/http/tests/site-isolation/resources/report-process-id-via-broadcast.html:
Added.
* LayoutTests/http/tests/site-isolation/resources/report-process-id.html: Added.
* LayoutTests/http/tests/site-isolation/resources/simple-page.html: Added.
*
LayoutTests/http/tests/site-isolation/same-site-noopener-uses-same-process-expected.txt:
Added.
*
LayoutTests/http/tests/site-isolation/same-site-noopener-uses-same-process.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/clear-prefetch-cache-after-clear-site-data-cache.https-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/initiators-a-element.sub.https_same-site-expected.txt:
Progression.
*
LayoutTests/imported/w3c/web-platform-tests/speculation-rules/prefetch/initiators-window-open.sub.https_same-site-expected.txt:
Progression.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::createNewPage): Set related page to `this` when the
navigation is same site.
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal): Only create a new
process when the navigation is not to the same site.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
((ProcessSwap, CrossOriginButSameSiteWindowOpenNoOpener)): Expectation change.
((ProcessSwap, SameSiteWindowOpenNoOpener)): Expectation change.
((ProcessSwap, SameSiteBlankTargetNoOpener)): Expectation change.
((ProcessSwap, GoBackToSuspendedPageWithMainFrameIDThatIsNotOne)): Expectation
change.
((ProcessSwap, CrossSiteWindowOpenNoOpenerUsesNewProcess)): Test cross-origin
opened pages.
((ProcessSwap, CrossSiteLinkTargetBlankNoOpenerUsesNewProcess)): Test
cross-origin opened pages.
Canonical link: https://commits.webkit.org/304218@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications