[webkit-changes] [WebKit/WebKit] b707db: Make to sure to reregister service worker clients ...
youennf
noreply at github.com
Thu Dec 12 12:30:13 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b707db9ba55dbed587a5c6043c17216efcddc612
https://github.com/WebKit/WebKit/commit/b707db9ba55dbed587a5c6043c17216efcddc612
Author: Youenn Fablet <youenn at apple.com>
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
More information about the webkit-changes
mailing list