Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b707db9ba55dbed587a5c6043c17216efcddc612
      
https://github.com/WebKit/WebKit/commit/b707db9ba55dbed587a5c6043c17216efcddc612
  Author: Youenn Fablet <[email protected]>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    A 
LayoutTests/http/tests/workers/service/registerServiceWorkerClient-after-network-process-crash-expected.txt
    A 
LayoutTests/http/tests/workers/service/registerServiceWorkerClient-after-network-process-crash.html
    A 
LayoutTests/http/tests/workers/service/resources/registerServiceWorkerClient-after-network-process-crash-worker.js
    M LayoutTests/http/tests/workers/service/shownotification-allowed.html
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/win/TestExpectations
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/WebProcess.messages.in

  Log Message:
  -----------
  Make to sure to reregister service worker clients when launching a service 
worker after a network process crash
rdar://141159225
https://bugs.webkit.org/show_bug.cgi?id=284302

Reviewed by Ben Nham.

When a network process crashes, web processes only create a connection to the 
network process when needed.
The consequence is that service worker clients may not all be registered until 
the process owning these clients creates a connection to the network process.

To fix that issue, when we launch a service worker process, we will make sure 
that all processes that have pages related to the service worker top origin 
recreate their network process connection.

Covered by added test and updated test.
Skipping added test on iOS like other tests using showNotification in service 
worker.

* 
LayoutTests/http/tests/workers/service/registerServiceWorkerClient-after-network-process-crash-expected.txt:
 Added.
* 
LayoutTests/http/tests/workers/service/registerServiceWorkerClient-after-network-process-crash.html:
 Added.
* 
LayoutTests/http/tests/workers/service/resources/registerServiceWorkerClient-after-network-process-crash-worker.js:
 Added.
(async const):
(let.messageClients):
(async await):
* LayoutTests/http/tests/workers/service/shownotification-allowed.html:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::networkProcessDidTerminate):
(WebKit::WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shouldRegisterServiceWorkerClients const):
(WebKit::WebProcessProxy::registerServiceWorkerClients):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::registerServiceWorkerClients):
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/WebProcess.messages.in:

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

Reply via email to