- From: Jake Archibald <notifications@github.com>
- Date: Fri, 09 Feb 2018 07:01:32 -0800
- To: w3c/ServiceWorker <ServiceWorker@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/ServiceWorker/pull/1277/review/95446607@github.com>
jakearchibald requested changes on this pull request.
> - 1. Let |client| be the <a>context object</a>'s [=ServiceWorkerContainer/service worker client=].
- 1. Let |clientURL| be |client|'s <a>creation URL</a>.
- 1. Run the following substeps <a>in parallel</a>:
- 1. *CheckRegistration*: Let |registration| be the result of running <a>Match Service Worker Registration</a> algorithm with |clientURL|.
- 1. If |registration| is null, then:
- 1. Wait until <a>scope to registration map</a> has a new entry.
- 1. Jump to the step labeled *CheckRegistration*.
- 1. If |registration|'s <a>active worker</a> is null, wait until |registration|'s <a>active worker</a> changes.
-
- Note: Implementers should consider this condition is met when the corresponding registration request gets to the step 6 of <a>Activate</a> algorithm.
-
- 1. Resolve <a>context object</a>'s [=ServiceWorkerContainer/ready promise=] with the {{ServiceWorkerRegistration}} object which represents |registration|.
- 1. Return <a>context object</a>'s [=ServiceWorkerContainer/ready promise=].
+ 1. Let |readyPromise| be the [=context object=]'s [=ServiceWorkerContainer/ready promise=].
+ 1. If |readyPromise| is pending, then:
+ 1. Let |registration| be the result of running [=Match Service Worker Registration=] with the [=context object=]'s [=ServiceWorkerContainer/service worker client=]'s [=creation URL=].
I don't think we should be running this on the main thread since it's a disk read.
> @@ -2541,7 +2532,11 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe
Note: Once an active worker is activating, neither a runtime script error nor a force termination of the active worker prevents the active worker from getting activated.
- 1. For each [=/service worker client=] |client| whose <a>creation URL</a> <a lt="Match Service Worker Registration">matches</a> |registration|'s [=service worker registration/scope url=]:
+ 1. Let |matchedClients| be a [=list=] of [=/service worker clients=] whose <a>creation URL</a> <a lt="Match Service Worker Registration">matches</a> |registration|'s [=service worker registration/scope url=].
+ 1. [=list/For each=] |client| of |matchedClients|:
+ 1. Let |readyPromise| be |client|'s [=environment settings object/global object=]'s {{ServiceWorkerContainer}} object's [=ServiceWorkerContainer/ready promise=].
I think we need to queue a task on each client to do this.
--
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/1277#pullrequestreview-95446607
Received on Friday, 9 February 2018 15:02:01 UTC