Re: [ServiceWorker] Possible run-to-completion violation in "Handle Service Worker Client Unload" (#746)

Your design sounds good to me. I found the current behavior as-is actually seems odd and needs clarification. It currently does:
 - register() does not cancel uninstall until it resolves with a registration (either resolves with the existing registration or successful installation of a new version).
 - [update() step 2](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#service-worker-registration-update) aborts the steps! meaning it doesn't cancel the uninstall. I think it should be fixed.

So, to sum again, we'd want:
 - register() method and update() method unset the uninstalling flag (i.e. cancel the uninstall).
  . This conforms to our earlier discussion that we don't want to aggressively uninstall registrations.
  . Devs will deal with any installation failure on those retaining registrations.
 - Soft Update will not unset the uninstalling flag (i.e. does not cancel the uninstall).
 - Remove [Install step 22](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#installation-algorithm) (i.e. the decision of the cancellation of the uninstall doesn't depend on whether the installation succeeds or fails. They are all done by the callers as @nikhilm suggested).

Is that clear?

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

Received on Wednesday, 23 September 2015 09:21:28 UTC