[webkit-changes] [WebKit/WebKit] 89490a: [Site Isolation] Web process is unexpectedly used ...
Sihui
noreply at github.com
Sat Jun 22 21:42:55 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 89490af390bcd40517fb6b285b384bbd84758f1f
https://github.com/WebKit/WebKit/commit/89490af390bcd40517fb6b285b384bbd84758f1f
Author: Sihui Liu <sihui_liu at apple.com>
Date: 2024-06-22 (Sat, 22 Jun 2024)
Changed paths:
M Source/WebKit/UIProcess/WebProcessPool.cpp
Log Message:
-----------
[Site Isolation] Web process is unexpectedly used for navigation from about URL
https://bugs.webkit.org/show_bug.cgi?id=275759
rdar://130306548
Reviewed by Alex Christensen.
When investigating rdar://127848665, I noticed a web process that belongs to FrameProcess with site `http://localhost`
is used for navigation from `about:blank` URL to `127.0.0.1` URL (test URL), which causes the third-party `localhost`
iframe in the test page to be loaded in the same process as the main frame. This is because web process can be used for
navigation from about URL if it has not committed any meaningful load (i.e. load from non-about URL), see
`WebProcessPool::processForNavigationInternal`). The problem is that not having committed meaningful load is not enough
to decide the process can be reused when site isolation is enabled. In this specific example, it is preferred that two
sites don't share the same web process. However, since WebKitTestRunner clears the meaningful load states between tests
(see `WKPageResetProcessState` in `TestController::resetStateToConsistentValues`), `WebProcessPool` would decide the web
process can be used for new navigation. To fix this, this patch makes sure web process without meaningful load is not
used when site isolation is enabled.
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
Canonical link: https://commits.webkit.org/280285@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list