- From: Matt Falkenhagen <notifications@github.com>
- Date: Sun, 27 Mar 2016 18:44:53 -0700
- To: slightlyoff/ServiceWorker <ServiceWorker@noreply.github.com>
- Message-ID: <slightlyoff/ServiceWorker/issues/856/202187665@github.com>
Chrome's implementation seems to predate the spec here, and it does a check but it's slightly different: if there's no active worker, then continue to Update. Nothing about the newest worker.
I think I just wanted to avoid register() triggering an update when the registration was already settled. If there's no active worker, then it's considered unsettled. Our code has a comment:
```
// "If newestWorker is not null, and scriptURL is equal to
// newestWorker.scriptURL, then:
// Return a promise resolved with registration."
// We resolve only if there's an active version. If there's not,
// then there is either no version or only a waiting version from
// the last browser session; it makes sense to proceed with registration in
// either case.
DCHECK(!existing_registration->installing_version());
if (existing_registration->active_version()) {
ResolvePromise(status, std::string(), existing_registration.get());
Complete(SERVICE_WORKER_OK);
return;
}
```
The comment mentions "no version" registrations, which should be no longer possible.
Does Firefox early exit in all cases?
---
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#issuecomment-202187665
Received on Monday, 28 March 2016 01:45:22 UTC