Re: [ServiceWorker] unregister() then register() same-scope, different script URL that fails: what do you expect to happen? (#396)

> The way it is currently framed, a worker can block the activate task by e.waitUntil(new Promise({})) which holds up the entire queue. 

It seems that's what exactly `e.waitUntil()` means to do. The activate task should wait on this as it change s the worker's state upon the completion of the task queued on the worker.

For `e.waitUntil(new Promise({}))` kind of usage, we added this text in 4.4: "The service worker should not be terminated until the result of waiting for all of the extend lifetime promises has been settled. However, the user agent may impose a time limit to this lifetime extension."

> It would be better to remove Step 13-14 from the atomic constraints and have them check that the registration hasn't started uninstalling and the active worker is still valid.

Could you elaborate some more about this?

---
Reply to this email directly or view it on GitHub:
https://github.com/slightlyoff/ServiceWorker/issues/396#issuecomment-73630188

Received on Tuesday, 10 February 2015 01:54:46 UTC