Re: [w3c/ServiceWorker] Clients.get: block on reserved clients. (#1315)

wanderview commented on this pull request.



> @@ -1148,6 +1148,11 @@ spec: webappsec-referrer-policy; urlPrefix: https://w3c.github.io/webappsec-refe
         1. Run these substeps <a>in parallel</a>:
             1. For each [=/service worker client=] |client| whose [=service worker client/origin=] is the <a lt="same origin">same</a> as the associated [=ServiceWorkerGlobalScope/service worker=]'s [=environment settings object/origin=]:
                 1. If |client|'s [=environment/id=] is not |id|, continue to the next iteration of the loop.
+                1. If |client|'s [=environment/execution ready flag=] is unset, then:
+                    1. Wait for the [=/HTTP fetch=] steps using the [=/request=] that |client| is the associated [=request/reserved client=] of to finish.

Note, we also already depend on client discarding in other places in the service worker spec.  We activate waiting workers when the last client "goes away".  If that last controlled client is a reserved client being navigated, then we have this same situation.

Not saying we shouldn't spec it better, but just highlighting that we already depend on this concept pretty heavily.

-- 
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/1315#discussion_r191490367

Received on Tuesday, 29 May 2018 16:30:47 UTC