- From: Matt Falkenhagen <notifications@github.com>
- Date: Mon, 01 Jul 2019 01:38:01 -0700
- To: w3c/ServiceWorker <ServiceWorker@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/ServiceWorker/pull/1445/review/256194801@github.com>
mattto approved this pull request. lgtm! Just some nits (feel free to ignore if they don't sound right). > @@ -477,7 +477,27 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe }; </pre> - A {{ServiceWorkerRegistration}} object represents a [=/service worker registration=]. Each {{ServiceWorkerRegistration}} object is associated with a <dfn for="ServiceWorkerRegistration">service worker registration</dfn> (a [=/service worker registration=]). Multiple separate objects implementing the {{ServiceWorkerRegistration}} interface across documents and workers can all be associated with the same [=/service worker registration=] simultaneously. + <section> + <h4 id="service-worker-registration-creation">Getting {{ServiceWorkerRegistration}} instances</h4> + + An [=environment settings object=] has a <dfn for="environment settings object">service worker registration object map</dfn>, a [=/map=] where the [=map/keys=] are [=/service worker registrations=] and the [=map/values=] are {{ServiceWorkerRegistration}} objects. + + <section algorithm="service-worker-registration-creation-algorithm"> + To <dfn lt="get the service worker registration object|getting the service worker registration object">get the service worker registration object</dfn> representing |registration| (a [=/service worker registration=]) in |environment| (an [=environment settings object=]), run these steps: + + 1. Let |objectMap| be |environment|'s [=environment settings object/service worker registration object map=]. + 1. If |objectMap|[|registration|] does not [=map/exist=], then: + 1. Let |registrationObject| be a new {{ServiceWorkerRegistration}} in |environment|'s [=environment settings object/Realm=]. + 1. Set |registrationObject|'s [=ServiceWorkerRegistration/service worker registration=] to |registration|. + 1. Set |registrationObject|'s {{ServiceWorkerRegistration/installing}} attribute to null if |registration|'s [=service worker registration/installing worker=] is null, otherwise the result of [=getting the service worker object=] that represents |registration|'s [=service worker registration/installing worker=] in |environment|. I think this is a run-on sentence. I was once told the spec convention is "to X, if Y, and Z otherwise". > + <section algorithm="service-worker-registration-creation-algorithm"> + To <dfn lt="get the service worker registration object|getting the service worker registration object">get the service worker registration object</dfn> representing |registration| (a [=/service worker registration=]) in |environment| (an [=environment settings object=]), run these steps: + + 1. Let |objectMap| be |environment|'s [=environment settings object/service worker registration object map=]. + 1. If |objectMap|[|registration|] does not [=map/exist=], then: + 1. Let |registrationObject| be a new {{ServiceWorkerRegistration}} in |environment|'s [=environment settings object/Realm=]. + 1. Set |registrationObject|'s [=ServiceWorkerRegistration/service worker registration=] to |registration|. + 1. Set |registrationObject|'s {{ServiceWorkerRegistration/installing}} attribute to null if |registration|'s [=service worker registration/installing worker=] is null, otherwise the result of [=getting the service worker object=] that represents |registration|'s [=service worker registration/installing worker=] in |environment|. + 1. Set |registrationObject|'s {{ServiceWorkerRegistration/waiting}} attribute to null if |registration|'s [=service worker registration/waiting worker=] is null, otherwise the result of [=getting the service worker object=] that represents |registration|'s [=service worker registration/waiting worker=] in |environment|. + 1. Set |registrationObject|'s {{ServiceWorkerRegistration/active}} attribute to null if |registration|'s [=service worker registration/active worker=] is null, otherwise the result of [=getting the service worker object=] that represents |registration|'s [=service worker registration/active worker=] in |environment|. + 1. Set |objectMap|[|registration|] to |registrationObject|. + 1. Return |objectMap|[|registration|]. + </section> + </section> + + A {{ServiceWorkerRegistration}} has a <dfn for="ServiceWorkerRegistration">service worker registration</dfn> (a [=/service worker registration=]). Could this sentence go above this section? Since the algorithm above refers to this definition. > @@ -688,10 +708,7 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe 1. Let |promise| be a new <a>promise</a>. 1. Run the following substeps <a>in parallel</a>: 1. Let |registration| be the result of running <a>Match Service Worker Registration</a> algorithm with |clientURL| as its argument. - 1. If |registration| is not null, then: - 1. Resolve |promise| with the {{ServiceWorkerRegistration}} object which represents |registration|. - 1. Else: - 1. Resolve |promise| with undefined. + 1. If |registration| is null, resolve |promise| with undefined, else resolve |promise| with the result of [=getting the service worker registration object=] that represents |registration| in |promise|'s [=relevant settings object=]. I'm not sure this if/else construction is conventional. How about splitting it to two statements or else doing the: "Resolve |promise| with undefined, if |registration| is null, and the result of getting the registration... otherwise." -- 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/1445#pullrequestreview-256194801
Received on Monday, 1 July 2019 08:38:25 UTC