- From: Matt Falkenhagen <notifications@github.com>
- Date: Thu, 08 Mar 2018 21:04:51 -0800
- To: w3c/ServiceWorker <ServiceWorker@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/ServiceWorker/pull/1283/review/102545609@github.com>
mattto commented on this pull request.
> + 1. If |serviceWorker|'s [=service worker/script resource map=][|request|'s [=request/url=]] [=map/exists=], return the [=map/entry=]'s [=map/value=].
+ 1. If |serviceWorker|'s [=state=] is not *parsed* or *installing*, return a [=network error=].
+ 1. Let |registration| be |serviceWorker|'s [=containing service worker registration=].
+ 1. Set |request|'s [=service-workers mode=] to "`none`".
+ 1. Set |request|'s [=request/cache mode=] to "`no-cache`" if any of the following are true:
+ * |registration|'s [=service worker registration/update via cache mode=] is "`none`".
+ * The [=current global object=]'s [=force bypass cache for importscripts flag=] is set.
+ * |registration|'s [=last update check time=] is not null and the time difference in seconds calculated by the current time minus |registration|’s [=last update check time=] is greater than 86400.
+ 1. Let |response| be the result of [=fetch|fetching=] |request|.
+ 1. Set |response| to |response|'s [=unsafe response=].
+ 1. If |response|’s <a for="response" href="https://github.com/whatwg/fetch/issues/376">cache state</a> is not "`local`", set |registration|’s [=service worker registration/last update check time=] to the current time.
+ 1. [=Extract a MIME type=] from the |response|'s [=response/header list=]. If this MIME type (ignoring parameters) is not a [=JavaScript MIME type=], return a [=network error=].
+ 1. If |response|'s [=response/type=] is not "`error`", and |response|'s [=response/status=] is an <a>ok status</a>, then:
+ 1. [=map/Set=] |serviceWorker|'s [=service worker/script resource map=][|request|'s [=request/url=]] to |response|.
+ 1. Set |serviceWorker|'s [=classic scripts imported flag=].
+ 1. Return |response|.
Ah I see. That means if you do try { importScripts('fail.js'); } and catch the exception, you can later try to do importScripts('fail.js') and it'll retry again. I think that matches our implementation too.
(Acknowledged that this hasn't changed, just confirming my understanding.)
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/ServiceWorker/pull/1283#discussion_r173366159
Received on Friday, 9 March 2018 05:05:18 UTC