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

Reply via email to