Re: [w3c/ServiceWorker] consider Client behavior for windows where initial about:blank is replaced with a loaded document (#1091)

I'll post the test once I have it written.  Its revealing more problems for me that I'm trying to work through.

One thing that I have noticed is that service workers may have exposed some browser optimizations that were not observable before.

Consider loading a simply `<iframe src="foo.html"></iframe>`.  Per the spec this should create an initial "about:blank".  At least in gecko, though, we don't actually do this since nothing tries to access `.contentWindow`.  This allows us to save some work when nothing has interacted with the frame before the load completes.

With service workers, though, we can do this:

1. Intercept foo.html and delay the response
2. Do a clients.matchAll() to observe the initial about:blank

In this case our optimization to avoid creating the initial about:blank is exposed because step (2) won't find a Client.

At least with our current Clients implementation anyway.  I'm trying to make this work without forcing a de-opt in the general case.  I'm trying to make our code create the initial about:blank on demand when `clients.matchAll()` would have observed it.

-- 
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/1091#issuecomment-309041130

Received on Friday, 16 June 2017 14:30:31 UTC