Skip to content

Stop persisting service workers from browser extensions to disk#63883

Merged
webkit-commit-queue merged 1 commit into
WebKit:mainfrom
cdumez:313635_extensions_sw_non_persistent
Apr 29, 2026
Merged

Stop persisting service workers from browser extensions to disk#63883
webkit-commit-queue merged 1 commit into
WebKit:mainfrom
cdumez:313635_extensions_sw_non_persistent

Conversation

@cdumez
Copy link
Copy Markdown
Contributor

@cdumez cdumez commented Apr 29, 2026

eff9f92

Stop persisting service workers from browser extensions to disk
https://bugs.webkit.org/show_bug.cgi?id=313635

Reviewed by Youenn Fablet.

Stop persisting service workers from browser extensions to disk. It is
unnecessary and the data saved to disk would not be functional when
loaded back from disk anyway.

* Source/WebCore/workers/service/server/SWRegistrationDatabase.cpp:
(WebCore::SWRegistrationDatabase::updateRegistrationsImpl):
* Source/WebCore/workers/service/server/SWServer.cpp:
(WebCore::SWServer::didFinishInstall):
(WebCore::SWServer::storeRegistrationForWorkerIfNecessary):
(WebCore::SWServer::storeRegistrationForWorker): Deleted.
* Source/WebCore/workers/service/server/SWServer.h:
* Source/WebCore/workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::enableNavigationPreload):
(WebCore::SWServerRegistration::disableNavigationPreload):
(WebCore::SWServerRegistration::setNavigationPreloadHeaderValue):
* Source/WebCore/workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::shouldPersistToDisk const):
* Source/WebCore/workers/service/server/SWServerWorker.h:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ServiceWorkerBasic.mm:
((ServiceWorker, ExtensionServiceWorkerNotPersistedToDisk)):

Canonical link: https://commits.webkit.org/312316@main

4cea04e

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows Apple Internal
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win ⏳ 🛠 ios-apple
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 🧪 win-tests ⏳ 🛠 mac-apple
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe ⏳ 🛠 vision-apple
✅ 🧪 ios-wk2-wpt ✅ 🧪 api-mac-debug ✅ 🛠 gtk3-libwebrtc
✅ 🧪 api-ios ✅ 🧪 mac-wk1 ✅ 🛠 gtk
✅ 🛠 ios-safer-cpp ✅ 🧪 mac-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 api-gtk
✅ 🛠 🧪 merge ✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🛠 playstation
✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2
✅ 🛠 tv ✅ 🛠 mac-safer-cpp
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@cdumez cdumez self-assigned this Apr 29, 2026
@cdumez cdumez added the Service Workers Component for Service Workers bugs. label Apr 29, 2026
@cdumez cdumez requested review from xeenon and youennf April 29, 2026 11:35
@cdumez cdumez added the safe-merge-queue Applied to automatically send a pull-request to merge-queue after passing EWS checks label Apr 29, 2026
@webkit-ews-buildbot webkit-ews-buildbot added merge-queue Applied to send a pull request to merge-queue and removed safe-merge-queue Applied to automatically send a pull-request to merge-queue after passing EWS checks labels Apr 29, 2026
@webkit-ews-buildbot
Copy link
Copy Markdown
Collaborator

Safe-Merge-Queue: Build #91054.

https://bugs.webkit.org/show_bug.cgi?id=313635

Reviewed by Youenn Fablet.

Stop persisting service workers from browser extensions to disk. It is
unnecessary and the data saved to disk would not be functional when
loaded back from disk anyway.

* Source/WebCore/workers/service/server/SWRegistrationDatabase.cpp:
(WebCore::SWRegistrationDatabase::updateRegistrationsImpl):
* Source/WebCore/workers/service/server/SWServer.cpp:
(WebCore::SWServer::didFinishInstall):
(WebCore::SWServer::storeRegistrationForWorkerIfNecessary):
(WebCore::SWServer::storeRegistrationForWorker): Deleted.
* Source/WebCore/workers/service/server/SWServer.h:
* Source/WebCore/workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::enableNavigationPreload):
(WebCore::SWServerRegistration::disableNavigationPreload):
(WebCore::SWServerRegistration::setNavigationPreloadHeaderValue):
* Source/WebCore/workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::shouldPersistToDisk const):
* Source/WebCore/workers/service/server/SWServerWorker.h:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ServiceWorkerBasic.mm:
((ServiceWorker, ExtensionServiceWorkerNotPersistedToDisk)):

Canonical link: https://commits.webkit.org/312316@main
@webkit-commit-queue webkit-commit-queue force-pushed the 313635_extensions_sw_non_persistent branch from 4cea04e to eff9f92 Compare April 29, 2026 21:56
@webkit-commit-queue
Copy link
Copy Markdown
Collaborator

Committed 312316@main (eff9f92): https://commits.webkit.org/312316@main

Reviewed commits have been landed. Closing PR #63883 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit eff9f92 into WebKit:main Apr 29, 2026
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Apr 29, 2026
RELEASE_LOG(ServiceWorker, "%p - CHRIS: SWServer::storeRegistrationForWorkerIfNecessary: service worker %" PRIu64, this, worker.identifier().toUInt64());

if (!worker.shouldPersistToDisk()) {
RELEASE_LOG(ServiceWorker, "%p - CHRIS: SWServer::storeRegistrationForWorkerIfNecessary: Not saving service worker %" PRIu64 " to disk since it is backing a browser extension", this, worker.identifier().toUInt64());
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should remove?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching. Fixing via #63971.

void SWServer::storeRegistrationForWorker(SWServerWorker& worker)
void SWServer::storeRegistrationForWorkerIfNecessary(SWServerWorker& worker)
{
RELEASE_LOG(ServiceWorker, "%p - CHRIS: SWServer::storeRegistrationForWorkerIfNecessary: service worker %" PRIu64, this, worker.identifier().toUInt64());
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should remove?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Service Workers Component for Service Workers bugs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants