Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b2ed5aecee27ad7088dc72a0b871f56f61ac456c
https://github.com/WebKit/WebKit/commit/b2ed5aecee27ad7088dc72a0b871f56f61ac456c
Author: Sihui Liu <[email protected]>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M Source/WebKit/Shared/Cocoa/XPCEndpointClient.mm
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
Log Message:
-----------
REGRESSION (269598@main?): [ macOS Debug ] ASSERTION FAILED:
m_networkProcessToKeepAliveUntilDataStoreIsCreated == networkProcess.ptr() in
TestWebKitAPI.WKWebsiteDataStoreConfiguration.TotalQuotaRatio result of
constant crash
https://bugs.webkit.org/show_bug.cgi?id=265489
rdar://118904784
Reviewed by Per Arne Vollan and Chris Dumez.
The assertion fails because m_networkProcessToKeepAliveUntilDataStoreIsCreated
still points to old default network
process after it exits. The reason why WebProcessProxy has
m_networkProcessToKeepAliveUntilDataStoreIsCreated is that
WebProcessProxy needs to launch network process and hold it alive for sending
LaunchServicesDatabase to web process,
when there is no WebsiteDataStore (i.e. the web process is prewarmed). This
patch removes
m_networkProcessToKeepAliveUntilDataStoreIsCreated from WebProcessProxy and
delays the LaunchServicesDatabase sending
to when WebProcessProxy is assigned a WebsiteDataStore. In that case,
WebProcessProxy could use the network process of
the WebsiteDataStore.
This patch also has a fix to clear m_connection of XPCEndpointClient when
remote process is terminated, so web process
can accept new connection from the relaunched network process.
* Source/WebKit/Shared/Cocoa/XPCEndpointClient.mm:
(WebKit::XPCEndpointClient::setEndpoint):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::setWebsiteDataStore):
(WebKit::WebProcessProxy::didFinishLaunching):
* Source/WebKit/UIProcess/WebProcessProxy.h:
Canonical link: https://commits.webkit.org/271385@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes