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

On the other hand, I do have a spec reconciliation question. Where the spec has 3 queues, Gecko and Blink (IIUC) have just one queue. So in the spec:

    register("a.js")
    register("b.js")

where A & A both have fairly long running oninstall handlers (say on the order of seconds)
results in both A and B's register+update proceeding, before B's [[Install]] observes that there is an already installing worker ([[Install]] step 4.1) and terminates A's installation.

In implementations, the same leads to B being immediately blocked (at [[Update]] Step 4.2.1) until A has transitioned to waiting.
Considering the API surface of serviceworkers, I'm sure this behaviour is observable. So we should agree on something. We should agree on 3 vs 1

I'm not sure if @mattto 's comment https://github.com/slightlyoff/ServiceWorker/issues/396#issuecomment-71590525 claims that Blink's behaviour is spec compliant since A is retroactively aborted.

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

Received on Tuesday, 10 February 2015 23:30:35 UTC