-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify steps when embed tag has unhandled MIME type #3876
Comments
Thanks for this catch. I agree we should add something that says to not load anything. Perhaps optionally displaying a "missing plugin" UI---it seems like that's not observable from JavaScript, and is just a UI thing, so that kind of optional feature is probably OK. There's also a question as to whether browsers fire a load event in such cases. According to http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=6076 at least Chrome and Edge do not; not sure what your plans are for Firefox after the change. I will work on a spec patch for this, but can you work on tests for the load event thing? |
Also rewrites the algorithm in more modern style, which clears up some confusion around "resources" and load events and such. Fixes #3876.
Wouldn't it be observable through CSS-related APIs? |
I don't think so, because the width/height is always the same (300x150) and for non-SVG documents there's no way of accessing the nested browsing context or Document (indeed, such a nested browsing context does not exist, at least per spec). |
Hmm, in Firefox with |
I don't have my computer with Nightly at the moment, but if so, yeah, that's not good... Firefox should probably create a 300x150 box like all the other engines do. @qdot? |
Interestingly, the existing spec says (hidden after the normative algorithm):
|
This was previously outside the flow of the algorithm, causing it to be missed in #3876. As such I think it makes this whole change editorial? Also fixed a problem where we were taking the "otherwise" path for content-type headers that indicate plugins we don't support
Ah, ok, in the bugzilla bug for firefox relating to this (https://bugzilla.mozilla.org/show_bug.cgi?id=1473833), I pushed execution down the object plugin logic path, which goes to object fallback. Didn't realize that was suppose to go to "unsupported plugin". That'll take a bit more logic on our end but I think is doable. |
Also rewrites the algorithm in more modern style, which clears up some confusion around "resources" and load events and such. Fixes #3876.
This was previously outside the flow of the algorithm, causing it to be missed in #3876. As such I think it makes this whole change editorial? Also fixed a problem where we were taking the "otherwise" path for content-type headers that indicate plugins we don't support
This rewrites the <embed> processing model in a more modern style, along the way clarifying a few things and making some minor normative changes. * Fixes #3876 by colocating the text about notification of there being no plugin into the main algorithm, where it is more easily noticed. * Changes to not fire load events when no plugin is loaded. * Changes the SVG browsing context to get unloaded when a non-SVG is being displayed. With regard to these normative changes, browsers behave inconsistently. Indeed, they behave inconsistently in general with regard to lots of features of <embed> and <object>; see https://github.com/whatwg/html/labels/topic%3A%20embed%20and%20object. We leave a more comprehensive overhaul, including with a testing story, for later work. This revision just provides a basis for that future work.
This rewrites the <embed> processing model in a more modern style, along the way clarifying a few things and making some minor normative changes. * Fixes whatwg#3876 by colocating the text about notification of there being no plugin into the main algorithm, where it is more easily noticed. * Changes to not fire load events when no plugin is loaded. * Changes the SVG browsing context to get unloaded when a non-SVG is being displayed. With regard to these normative changes, browsers behave inconsistently. Indeed, they behave inconsistently in general with regard to lots of features of <embed> and <object>; see https://github.com/whatwg/html/labels/topic%3A%20embed%20and%20object. We leave a more comprehensive overhaul, including with a testing story, for later work. This revision just provides a basis for that future work.
This rewrites the <embed> processing model in a more modern style, along the way clarifying a few things and making some minor normative changes. * Fixes whatwg#3876 by colocating the text about notification of there being no plugin into the main algorithm, where it is more easily noticed. * Changes to not fire load events when no plugin is loaded. * Changes the SVG browsing context to get unloaded when a non-SVG is being displayed. With regard to these normative changes, browsers behave inconsistently. Indeed, they behave inconsistently in general with regard to lots of features of <embed> and <object>; see https://github.com/whatwg/html/labels/topic%3A%20embed%20and%20object. We leave a more comprehensive overhaul, including with a testing story, for later work. This revision just provides a basis for that future work.
When an embed tag has an unhandled MIME type, there are no explicit steps about what to do. By the current setup steps, we'd end up at:
But this doesn't explicitly say what to do with the content. In the case of object, we know to follow the fallback path (https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element).
Testing across browsers using:
The text was updated successfully, but these errors were encountered: