- From: Jake Archibald <notifications@github.com>
- Date: Fri, 12 Jul 2019 08:06:20 -0700
- To: w3c/ServiceWorker <ServiceWorker@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/ServiceWorker/pull/1442/review/261296313@github.com>
jakearchibald requested changes on this pull request. This is looking much better. A few comments/nits: > @@ -3465,6 +3496,20 @@ 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="get-client-state-algorithm"><dfn>Get Client State</dfn></h3> + + : Input + :: |client|, a [=/service worker client=] + : Output + :: |state|, a string + + 1. Let |state| be {{ClientState/"active"}}. + 1. If |client|'s [=environment settings object/global object=]'s [=owning document=] is [=frozen=], set |state| to be {{ClientState/"frozen"}}. Since the client is an [environment](https://html.spec.whatwg.org/multipage/webappapis.html#environment), can you just do "client's responsible document"? > @@ -3316,6 +3345,7 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe 1. Set |windowClient|'s [=frame type=] to |frameType|. 1. Set |windowClient|'s [=visibility state=] to |visibilityState|. 1. Set |windowClient|'s [=focus state=] to |focusState|. + 1. Set |windowClient|'s [=state=] to |state|. This is linking to service worker state rather than client's state. > @@ -1073,6 +1078,8 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe A {{Client}} object has an associated <dfn id="dfn-service-worker-client-frame-type" for="Client">frame type</dfn>, which is one of "`auxiliary`", "`top-level`", "`nested`", and "`none`". Unless stated otherwise it is "`none`". + A {{Client}} object has an associated <dfn id="dfn-service-worker-client-state" for="Client">client state</dfn>, which is one of "`active`", and "`frozen`". Unless stated otherwise it is "`active`". Nit: Rename to "state" since it's already on the client. > @@ -1113,6 +1120,12 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe 1. Return {{ClientType/"window"}}. </section> + <section> + <h4 id="client-state">{{Client/state}}</h4> + + The <dfn attribute for="Client"><code>state</code></dfn> attribute *must* return the <a>context object</a>'s <a>client state</a>. We're not massively consistent here, but we try to use bikeshed shorthand where possible: ``` The <dfn attribute for="Client">state</dfn> attribute *must* return the [=context object=]'s [=Client/client state=]. ``` > @@ -1073,6 +1078,8 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe A {{Client}} object has an associated <dfn id="dfn-service-worker-client-frame-type" for="Client">frame type</dfn>, which is one of "`auxiliary`", "`top-level`", "`nested`", and "`none`". Unless stated otherwise it is "`none`". + A {{Client}} object has an associated <dfn id="dfn-service-worker-client-state" for="Client">client state</dfn>, which is one of "`active`", and "`frozen`". Unless stated otherwise it is "`active`". Also, we can say that this is a {{ClientState}} rather than listing the values. > @@ -1241,6 +1257,13 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe "all" }; </pre> + <pre class="idl" id="client-state-enum"> + enum ClientState { + "active", + "frozen", + "all" + }; + </pre> I think we should break this out into multiple enums, since a client can never have a state of "all". I think enums can inherit, so ClientStateQuery (which adds "all") can inherit from ClientState. -- 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/1442#pullrequestreview-261296313
Received on Friday, 12 July 2019 15:06:43 UTC