Re: [whatwg/fetch] Split 'document' destination into 'frame' and 'iframe'. (#948)

mikewest commented on this pull request.



> @@ -1567,13 +1573,13 @@ whose <a for=request>destination</a> is "<code>audio</code>", "<code>audioworkle
 "<code>object</code>" or "<code>embed</code>".
 
 <p>A <dfn export>non-subresource request</dfn> is a <a for=/>request</a>
-whose <a for=request>destination</a> is "<code>document</code>",
-"<code>report</code>", "<code>serviceworker</code>", "<code>sharedworker</code>",
-or "<code>worker</code>".
+whose <a for=request>destination</a> is "<code>document</code>", "<code>frame</code>",
+"<code>iframe</code>", "<code>report</code>", "<code>serviceworker</code>",
+"<code>sharedworker</code>", or "<code>worker</code>".

As far as Fetch is concerned, I think `<embed>` and `<object>` are both always `no-cors` / {`embed`,`object`}.

Tracing through from https://html.spec.whatwg.org/#the-embed-element-setup-steps:

1.  Step 3.4 fetches with `no-cors` / `embed`.
2.  Step 3.4.3 switches on the type of the response (in a way that I'm not sure matches implementations; both Firefox and Chrome render `text/html`, for instance) to either [display a plugin](https://html.spec.whatwg.org/#display-a-plugin) or navigate to the response.
3.  [Displaying a plugin](https://html.spec.whatwg.org/#display-a-plugin) drops any nested browsing context in step 1, and hand-waves at finding a plugin for the response type.
4.  Navigating to the response does not re-fetch with `navigation` / `document`; it navigates to the response that was given for the `no-cors`/`embed` fetch above.

`<object>` looks pretty similar, though more capacious with regard to the types it handles specially.

(It's probably worth reevaluating all of this complexity in the light of Flash's impending death. Perhaps we can make `<object>` and `<embed>` act like strangely-spelled `<iframe>`s at some point?)

> https://w3c.github.io/ServiceWorker/ uses non-subresource.

https://w3c.github.io/ServiceWorker/#on-fetch-request-algorithm uses "non-subresource request" only after punting entirely on "potential-navigation-or-subresource" requests, which means that the categorization would have no practical effect there.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fetch/pull/948#discussion_r331920099

Received on Monday, 7 October 2019 09:23:28 UTC