Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[giow] (2) Make sure plugins for <object> aren't instantiated before …
…the <param>s are read. This makes <object> slower (which we avoided with <video>, for instance), but it appears to be needed for back-compat.

Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=9014

git-svn-id: http://svn.whatwg.org/webapps@4784 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Feb 18, 2010
1 parent 6ac8bf9 commit 9ea04c7
Show file tree
Hide file tree
Showing 3 changed files with 127 additions and 30 deletions.
51 changes: 41 additions & 10 deletions complete.html

Large diffs are not rendered by default.

51 changes: 41 additions & 10 deletions index

Large diffs are not rendered by default.

55 changes: 45 additions & 10 deletions source
Expand Up @@ -10223,8 +10223,8 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
parameter set to true.</p></li>

<li><p>If the document has an <span>active parser</span>, then
abort that parser, and throw away any pending content in the
<span>input stream</span>.</p></li>
<span title="abort an HTML parser">abort that
parser</span>.</p></li>

<li><p>Unregister all event listeners registered on the
<code>Document</code> node and its descendants.</p>
Expand Down Expand Up @@ -22252,9 +22252,11 @@ href="?audio">audio&lt;/a> test instead.)&lt;/p></pre>

<div class="impl">

<p>When the element is created, and subsequently whenever the
element is <span title="insert an element into a document">inserted
into a document</span> or <span title="remove an element from a
<p>When the element is created, when it is popped off the
<span>stack of open elements</span> of an <span>HTML parser</span>
or <span>XML parser</span>, and subsequently whenever the element is
<span title="insert an element into a document">inserted into a
document</span> or <span title="remove an element from a
document">removed from a document</span>; and whenever the element's
<code>Document</code> changes whether it is <span>fully
active</span>; and whenever an ancestor <code>object</code> element
Expand Down Expand Up @@ -22295,10 +22297,12 @@ href="?audio">audio&lt;/a> test instead.)&lt;/p></pre>
<p>If the element has an ancestor <span>media element</span>, or
has an ancestor <code>object</code> element that is <em>not</em>
showing its <span>fallback content</span>, or if the element is
not <span title="in a document">in a <code>Document</code></span>,
or if the element's <code>Document</code> is not <span>fully
active</span>, then jump to the last step in the overall set of
steps (fallback).</p>
not <span title="in a document">in a <code>Document</code></span>
with a <span>browsing context</span>, or if the element's
<code>Document</code> is not <span>fully active</span>, or if the
element is still in the <span>stack of open elements</span> of an
<span>HTML parser</span> or <span>XML parser</span>, then jump to
the last step in the overall set of steps (fallback).</p>

</li>

Expand Down Expand Up @@ -82447,7 +82451,8 @@ interface <dfn>SQLTransactionSync</dfn> {
html">before html</span>" <span>insertion mode</span>.)</p>

<p>The <code>html</code> node, however it is created, is the topmost
node of the stack. It never gets popped off the stack.</p>
node of the stack. It only gets popped off the stack when the parser
<span title="stop parsing">finishes</span>.</p>

<p>The <dfn>current node</dfn> is the bottommost node in this
stack.</p>
Expand Down Expand Up @@ -89149,6 +89154,9 @@ document.body.appendChild(text);
"interactive" <!-- this also synchronously fires an event --> and
the <span>insertion point</span> to undefined.</p></li>

<li><p>Pop <em>all</em> the nodes off the <span>stack of open
elements</span>.</p></li>

<li><p>If the <span>list of scripts that will execute when the
document has finished parsing</span> is not empty, run these
substeps:</p>
Expand Down Expand Up @@ -89236,6 +89244,24 @@ document.body.appendChild(text);

</ol>

<p>When the user agent is to <dfn>abort an HTML parser</dfn>, it
must run the following steps:</p>

<ol>

<li><p>Throw away any pending content in the <span>input
stream</span>, and discard any future content that would have been
added to it.</p></li>

<li><p>Pop <em>all</em> the nodes off the <span>stack of open
elements</span>.</p></li>

<!-- anything else? this is things that happen when you call
document.open() on a document that's still being parsed. Should the
pending scripts be blown away or anything? -->

</ol>

<p>Except where otherwise specified, the <span>task source</span>
for the <span title="concept-task">tasks</span> mentioned in this
section is the <span>DOM manipulation task source</span>.</p>
Expand Down Expand Up @@ -90136,6 +90162,15 @@ document.body.appendChild(text);
href="#refsXMLNS">[XMLNS]</a> <a href="#refsDOMCORE">[DOMCORE]</a>
<a href="#refsDOMEVENTS">[DOMEVENTS]</a></p>

<p>Between the time an element's start tag is parsed and the time
either the element's end tag is parsed on the parser detects a
well-formedness error, the user agent must act as if the element was
a <span>stack of open elements</span>.</p>

<p class="note">This is used by the <code>object</code> element to
avoid instantiating plugins before the <code>param</code> element
children have been parsed.</p>

<p>This specification provides the following additional information
that user agents should use when retrieving an external entity: the
public identifiers given in the following list all correspond to <a
Expand Down

0 comments on commit 9ea04c7

Please sign in to comment.