[ServiceWorker] why does Register algorithm step 5.3.1 check for an active worker? (#856)

Currently the Register algorithm does the following:

```
5. If registration is not null, then:
    1. If registration’s uninstalling flag is set, unset it.
    2. Let newestWorker be the result of running the Get Newest Worker algorithm
        passing registration as the argument.
    3. If newestWorker is not null and job’s script url equals newestWorker’s script url, then:
        1. If newestWorker is an active worker, then:
            1. Invoke Resolve Job Promise with job and the ServiceWorkerRegistration object
                which represents registration.
            2. Invoke Finish Job with job and abort these steps.
```

The check for active worker in 5.3.1 here surprises me.  Why do we want to perform the network request if the newest worker matches our script URL, but is still in the process of installing/waiting?

I see that this was added in this commit, but the comment there doesn't really help me understand.  I'm not sure the update step it refers to exists any more (or its been moved).

  https://github.com/slightlyoff/ServiceWorker/commit/5f9b752ecac700eb526f12ece6d3e0f09ea2f576

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/slightlyoff/ServiceWorker/issues/856

Received on Friday, 25 March 2016 19:46:17 UTC