[w3c/ServiceWorker] clients.get() should not resolve before sandboxing determines the origin of the client (#1385)

I think this is an oversight in the spec.

clients.get(id) does:
"Wait for either client’s execution ready flag to be set or for client’s discarded flag to be set."
https://w3c.github.io/ServiceWorker/#clients-get


The execution ready flag seems set at:
"7. Set the active document of browsingContext to document."
https://html.spec.whatwg.org/multipage/browsers.html#creating-a-new-browsing-context


Which later on does:
"11. Implement the sandboxing for document."

Probably we must implement the sandboxing for document first, and if the document has a unique origin we "Run the environment discarding steps for reservedEnvironment." like a cross-origin redirect. Then we can set execution ready.

Chrome currently resolves to a WindowClient. Firefox resolves with undefined. I think the spec intent is undefined.

cc @annevk @wanderview 

-- 
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/issues/1385

Received on Thursday, 24 January 2019 08:39:13 UTC