Re: [w3c/ServiceWorker] Spec how extendable events are given time to execute (#1566)

The specific issue @navels raises is, arguably, an issue with Chrome's extensions platform rather than the service worker spec. That said, as other browser vendors consider adopting Manifest V3 changes (e.g. Firefox [blog](https://blog.mozilla.org/ /2021/05/27/manifest-v3-update/#:~:text=background%20pages%20will%20be%20replaced%20by%20background%20service%20workers), [issue](https://bugzilla.mozilla.org/show_bug.cgi?id=1578286)) and the [WECG](https://github.com/w3c/webextensions) attempts to specify a common extensions platform, this begins to seem like more a of a web platform issue.

At first blush, the model @jakearchibald sketched out in his original post seems like it could be flexible enough for extensions implementers. In particular, the suggestion that …

> All items in **keepalive handles** can be removed if all lifetime promises in every `ExtendableEvent` in the global have become settled.
> 
> If the **keepalive handles** set becomes empty, the service worker is terminated regardless of ongoing work.

… may provide the tools necessary to address the sharp edge created by the forceful termination of service workers in Chrome's current implementation. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/ServiceWorker/issues/1566#issuecomment-895669056

Received on Tuesday, 10 August 2021 01:58:22 UTC