[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