- From: Matt Falkenhagen <notifications@github.com>
- Date: Tue, 06 Mar 2018 14:28:24 +0000 (UTC)
- To: w3c/ServiceWorker <ServiceWorker@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/ServiceWorker/pull/1283/review/101562145@github.com>
mattto commented on this pull request. > - 1. Else, return a <a>network error</a>. + 1. If |serviceWorker|'s [=service worker/script resource map=][|request|'s [=request/url=]] [=map/exists=], return [=service worker/script resource map=][|request|'s [=request/url=]]. + 1. If |serviceWorker|'s [=state=] is *installed*, *activating*, *activated*, or *redundant*, 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 "<code>no-cache</code>" 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 <a lt="fetch">fetching</a> |request|. + 1. If |response|’s <a for="response" href="https://github.com/whatwg/fetch/issues/376">cache state</a> is not "<code>local</code>", set |registration|’s [=service worker registration/last update check time=] to the current time. + 1. [=Extract a MIME type=] from the |response|'s [=unsafe 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 <a>unsafe response</a>'s [=response/type=] is not "<code>error</code>", and |response|'s [=response/status=] is an <a>ok status</a>, then: + 1. Let |newestWorker| be the result of running [=Get Newest Worker=] with |registration|. + 1. Let |resource| be null. + 1. If |newestWorker| is not null, set |resource| to |newestWorker|'s [=service worker/script resource map=][|request|'s [=request/url=]], or null if it does not [=map/exist=]. I'm a bit confused by this, it makes it look like importScripts() in one service worker (`serviceWorker`) is affecting the state of another service worker (`newestWorker`), which I thought #1041 decided was wrong. > + * |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 <a lt="fetch">fetching</a> |request|. + 1. If |response|’s <a for="response" href="https://github.com/whatwg/fetch/issues/376">cache state</a> is not "<code>local</code>", set |registration|’s [=service worker registration/last update check time=] to the current time. + 1. [=Extract a MIME type=] from the |response|'s [=unsafe 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 <a>unsafe response</a>'s [=response/type=] is not "<code>error</code>", and |response|'s [=response/status=] is an <a>ok status</a>, then: + 1. Let |newestWorker| be the result of running [=Get Newest Worker=] with |registration|. + 1. Let |resource| be null. + 1. If |newestWorker| is not null, set |resource| to |newestWorker|'s [=service worker/script resource map=][|request|'s [=request/url=]], or null if it does not [=map/exist=]. + 1. Set |serviceWorker|'s [=service worker/include updated resources flag=] if any of the following are true: + * |newestWorker| is null. + * |resource| is null. + * |resource|'s [=response/body=] is not byte-for-byte identical with |response|'s [=response/body=]. + 1. [=map/Set=] [=service worker/script resource map=][|request|'s [=request/url=]] to |response|. + 1. Set |serviceWorker|'s [=classic scripts imported flag=]. Generally, I'm a bit confused what about the meaning of `include updated resources flag` and `classic scripts imported flag`. Could you help me understand what they are doing? -- 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#pullrequestreview-101562145
Received on Tuesday, 6 March 2018 14:28:48 UTC