[webkit-changes] [WebKit/WebKit] 2d924a: REGRESSION (278473 at main): [ iOS ] http/tests/site-...

Sihui noreply at github.com
Fri Jun 21 16:39:58 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2d924a32402016dfc54ffad87c0fc1a35b62f3e7
      https://github.com/WebKit/WebKit/commit/2d924a32402016dfc54ffad87c0fc1a35b62f3e7
  Author: Sihui Liu <sihui_liu at apple.com>
  Date:   2024-06-21 (Fri, 21 Jun 2024)

  Changed paths:
    M LayoutTests/platform/ios/TestExpectations
    M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  -----------
  REGRESSION (278473 at main): [ iOS ] http/tests/site-isolation/window-open-with-name-cross-site.html is a consistent timeout
https://bugs.webkit.org/show_bug.cgi?id=273984
rdar://127848665

Reviewed by Alex Christensen.

278473 at main added a new test that performs top-level navigation from domain 127.0.0.1 to localhost. After the test runs,
the web page is hosted in a FrameProcess with site `http://localhost`, and BrowsingContextGroup of the WebPageProxy only
has one FrameProcess for `http://localhost`. When WebKitTestRunner loads the next test URL of domain 127.0.0.1 in the
web page, a new FrameProcess for site `http://127.0.0.1` should be created, added to BrowsingContextGroup, and used for
the main frame of the page. Otherwise, UI process will not use the same process for other frames loading
`http://127.0.0.1` (since it cannot find it in BrowsingContextGroup), and it may create a new web process.

The timeout is directly caused by opener of frame with `http://127.0.0.1` not being set, which is supposed to be set
after provisional frame is committed. In this case, provisional frame is not created becasuse
takeRemotePageInProcessForProvisionalPage does not find remote page in the new web process (see
`ProvisionalPageProxy::initializeWebPage`), and the new web prcess should not be created. To fix this, create new
FrameProcess when frame load is committed and existing frame process has different site from load site.

* LayoutTests/platform/ios/TestExpectations:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):

Canonical link: https://commits.webkit.org/280263@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