Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ff4eced3ff239c434ef397c0c059a8a027a54db5
https://github.com/WebKit/WebKit/commit/ff4eced3ff239c434ef397c0c059a8a027a54db5
Author: Youenn Fablet <[email protected]>
Date: 2023-05-19 (Fri, 19 May 2023)
Changed paths:
M LayoutTests/TestExpectations
A
LayoutTests/http/wpt/service-workers/changing-service-worker-lengthy-worker.py
A
LayoutTests/http/wpt/service-workers/service-worker-process-crashing-between-installed-and-activating-expected.txt
A
LayoutTests/http/wpt/service-workers/service-worker-process-crashing-between-installed-and-activating.html
M Source/WebCore/workers/service/server/SWServer.cpp
M Source/WebCore/workers/service/server/SWServer.h
M Source/WebCore/workers/service/server/SWServerRegistration.cpp
Log Message:
-----------
Make sure to run a service worker before firing its activate event
https://bugs.webkit.org/show_bug.cgi?id=256893
rdar://109411104
Reviewed by Ben Nham.
As per spec, we should run the service worker before firing the activate event.
We were not doing so and there might be cases where the service worker will no
longer be running between installed and activating steps.
This happens for instance in case the process is terminated due to memory
issues.
We align the implementation with the spec by renaming fireActivateEvent to
runServiceWorkerAndFireActivateEvent.
Internally, it calls runServiceWorkerIfNecessary before firing the event.
Small refactoring to allow either running a service worker from its object or
from its ID.
* LayoutTests/TestExpectations:
*
LayoutTests/http/wpt/service-workers/changing-service-worker-lengthy-worker.py:
Added.
(main):
*
LayoutTests/http/wpt/service-workers/service-worker-process-crashing-between-installed-and-activating-expected.txt:
Added.
*
LayoutTests/http/wpt/service-workers/service-worker-process-crashing-between-installed-and-activating.html:
Added.
* Source/WebCore/workers/service/server/SWServer.cpp:
(WebCore::SWServer::runServiceWorkerIfNecessary):
(WebCore::SWServer::runServiceWorker):
(WebCore::SWServer::runServiceWorkerAndFireActivateEvent):
(WebCore::SWServer::fireActivateEvent): Deleted.
* Source/WebCore/workers/service/server/SWServer.h:
* Source/WebCore/workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::activate):
Canonical link: https://commits.webkit.org/264242@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes