ServiceWorkerGlobalScope#serviceWorker to get a service worker object corresponding to a worker itself
This allows a service worker to get its ServiceWorker object with self.serviceWorker in a service worker script and its current state with self.serviceWorker.state in the script.
A service worker instance currently has no way to get its current lifecycle state. There's a bit of a hack one can do where you keep track of the current event as a global variable but that's error prone and doesn't capture the waiting periods correctly. The best way to solve this would be to just allow a service worker to get its ServiceWorker object in a service worker script.
Status in Chromium
Enabled by default (tracking bug) in:
- Chrome for desktop release 79
- Chrome for Android release 79
- Android WebView release 79
Consensus & Standardization
Intent to Prototype urlIntent to Prototype thread
Last updated on 2019-10-07