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

Reply via email to