Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2d924a32402016dfc54ffad87c0fc1a35b62f3e7
https://github.com/WebKit/WebKit/commit/2d924a32402016dfc54ffad87c0fc1a35b62f3e7
Author: Sihui Liu <[email protected]>
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@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@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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes