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

mattto 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.

Yep that's all fair. I indeed wanted to wait for "client goes away" and tried to sweep it under the rug by waiting for HTTP fetch to finish.

That's a good point about activation. In the SW spec this happens on "Handle Service Worker Client Unload" which is run when a "service worker client unloads by unloading or terminating". I'm guessing reserved clients don't go through "unload" as per the HTML spec though so I can't just hook into that yet.

-- 
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_r191608896

Received on Tuesday, 29 May 2018 23:54:48 UTC