[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