- From: Jake Archibald <notifications@github.com>
- Date: Tue, 12 Jun 2018 07:06:27 -0700
- To: w3c/ServiceWorker <ServiceWorker@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/ServiceWorker/pull/1323/review/127977412@github.com>
jakearchibald requested changes on this pull request. My comment are mostly nits. This is looking good! > @@ -222,6 +222,13 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe A <dfn export id="dfn-service-worker-client" for="">service worker client</dfn> is an [=environment=]. + A [=/service worker client=] has an associated <dfn export>discarded flag</dfn>. It is initially unset. + + This specification defines the following [=environment discarding steps=] for a [=/service worker client=] |client|: I think this should be written ``` Each [=/service worker client=] has the following [=environment discarding steps=]: ``` This avoids "this specification defines" which is a little redundant, because everything normative in this spec is something this spec defines. > @@ -222,6 +222,13 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe A <dfn export id="dfn-service-worker-client" for="">service worker client</dfn> is an [=environment=]. + A [=/service worker client=] has an associated <dfn export>discarded flag</dfn>. It is initially unset. + + This specification defines the following [=environment discarding steps=] for a [=/service worker client=] |client|: + 1. Set |client|'s [=discarded flag=]. + + Note: Implementations can essentially discard clients whose [=discarded flag=] is set. Nit: lose "essentially". Also, is this defined somewhere? > @@ -3216,6 +3204,41 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe Note: When an exception is [=throw|thrown=], the implementation does undo (roll back) any changes made to the cache storage during the batch operation job. </section> + + <section algorithm> + <h3 id="resolve-get-client-promise-algorithm"><dfn>Resolve Get Client Promise</dfn></h3> + + : Input + :: |client|, a [=/service worker client=] + :: |promise|, a <a>promise</a> + + : Output + :: none + + 1. If |client| is an [=environment settings object=], then: + 1. If |client| is not a <a>secure context</a>, reject |promise| with a "{{SecurityError}}" {{DOMException}} and abort these steps. For consistency, can we go with `[=secure context=]`? > @@ -3216,6 +3204,41 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe Note: When an exception is [=throw|thrown=], the implementation does undo (roll back) any changes made to the cache storage during the batch operation job. </section> + + <section algorithm> + <h3 id="resolve-get-client-promise-algorithm"><dfn>Resolve Get Client Promise</dfn></h3> + + : Input + :: |client|, a [=/service worker client=] + :: |promise|, a <a>promise</a> + + : Output + :: none + + 1. If |client| is an [=environment settings object=], then: + 1. If |client| is not a <a>secure context</a>, reject |promise| with a "{{SecurityError}}" {{DOMException}} and abort these steps. + 1. Else: + 1. If |client|’s <a>creation URL</a> is not a <a>potentially trustworthy URL</a>, reject |promise| with a "{{SecurityError}}" {{DOMException}} and abort these steps. Same here, can we use `[=term=]` instead of `<a>term</a>`? > + <section algorithm> + <h3 id="resolve-get-client-promise-algorithm"><dfn>Resolve Get Client Promise</dfn></h3> + + : Input + :: |client|, a [=/service worker client=] + :: |promise|, a <a>promise</a> + + : Output + :: none + + 1. If |client| is an [=environment settings object=], then: + 1. If |client| is not a <a>secure context</a>, reject |promise| with a "{{SecurityError}}" {{DOMException}} and abort these steps. + 1. Else: + 1. If |client|’s <a>creation URL</a> is not a <a>potentially trustworthy URL</a>, reject |promise| with a "{{SecurityError}}" {{DOMException}} and abort these steps. + 1. If |client| is an [=environment settings object=] and is not a [=window client=], then: + 1. Let |clientObject| be the result of running <a>Create Client</a> algorithm with |client| as the argument. `[=Create Client=]` > + <section algorithm> + <h3 id="resolve-get-client-promise-algorithm"><dfn>Resolve Get Client Promise</dfn></h3> + + : Input + :: |client|, a [=/service worker client=] + :: |promise|, a <a>promise</a> + + : Output + :: none + + 1. If |client| is an [=environment settings object=], then: + 1. If |client| is not a <a>secure context</a>, reject |promise| with a "{{SecurityError}}" {{DOMException}} and abort these steps. + 1. Else: + 1. If |client|’s <a>creation URL</a> is not a <a>potentially trustworthy URL</a>, reject |promise| with a "{{SecurityError}}" {{DOMException}} and abort these steps. + 1. If |client| is an [=environment settings object=] and is not a [=window client=], then: + 1. Let |clientObject| be the result of running <a>Create Client</a> algorithm with |client| as the argument. There are a few more in this algo too. -- 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/1323#pullrequestreview-127977412
Received on Tuesday, 12 June 2018 14:06:50 UTC