[html5] r7714 - [giow] (3) document.open() called from iframe.onload mutes future iframe 'load' [...]

whatwg at whatwg.org whatwg at whatwg.org
Sat Feb 9 13:23:30 PST 2013


Author: ianh
Date: 2013-02-09 13:23:29 -0800 (Sat, 09 Feb 2013)
New Revision: 7714

Modified:
   complete.html
   index
   source
Log:
[giow] (3) document.open() called from iframe.onload mutes future iframe 'load' events for that Document.
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=17231
Affected topics: HTML, HTML Syntax and Parsing

Modified: complete.html
===================================================================
--- complete.html	2013-02-09 21:08:33 UTC (rev 7713)
+++ complete.html	2013-02-09 21:23:29 UTC (rev 7714)
@@ -11797,6 +11797,9 @@
 
    <!-- <span>the document's referrer</span> stays the same -->
 
+   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#iframe-load-in-progress>iframe load in progress</a> flag is set, set the
+   <code><a href=#document>Document</a></code>'s <a href=#mute-iframe-load>mute iframe load</a> flag.</li>
+
    <li><p>Create a new <a href=#html-parser>HTML parser</a> and associate it with the document. This is a
    <dfn id=script-created-parser>script-created parser</dfn> (meaning that it can be closed by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> and <code title=dom-document-close><a href=#dom-document-close>document.close()</a></code> methods, and that the tokenizer will wait for
    an explicit call to <code title=dom-document-close><a href=#dom-document-close>document.close()</a></code> before emitting an
@@ -24184,11 +24187,27 @@
   <p>When a <code><a href=#document>Document</a></code> in an <code><a href=#the-iframe-element>iframe</a></code> is marked as <a href=#completely-loaded>completely
   loaded</a>, the user agent must synchronously run the <a href=#iframe-load-event-steps>iframe load event steps</a>.</p>
 
+  <p>Each <code><a href=#document>Document</a></code> has an <dfn id=iframe-load-in-progress>iframe load in progress</dfn> flag and a <dfn id=mute-iframe-load>mute
+  iframe load</dfn> flag. When a <code><a href=#document>Document</a></code> is created, these flags must be unset for
+  that <code><a href=#document>Document</a></code>.</p>
+
   <p>The <dfn id=iframe-load-event-steps>iframe load event steps</dfn> are as follows:</p>
 
-  <ol><li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-load>load</code> at the
+  <ol><li><p>Let <var title="">child document</var> be the <a href=#active-document>active document</a> of the
+   <code><a href=#the-iframe-element>iframe</a></code> element's <a href=#nested-browsing-context>nested browsing context</a>.</li>
+
+   <li><p>If <var title="">child document</var> has its <a href=#mute-iframe-load>mute iframe load</a> flag set,
+   abort these steps.</li>
+
+   <li><p>Set <var title="">child document</var>'s <a href=#iframe-load-in-progress>iframe load in progress</a>
+   flag.</li>
+
+   <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-load>load</code> at the
    <code><a href=#the-iframe-element>iframe</a></code> element.</li>
 
+   <li><p>Unset <var title="">child document</var>'s <a href=#iframe-load-in-progress>iframe load in progress</a>
+   flag.</li>
+
   </ol><p>When content whose <a href=#url>URL</a> has the <a href=#same-origin>same origin</a> as the <code><a href=#the-iframe-element>iframe</a></code>
   element's <code><a href=#document>Document</a></code> fails to load (e.g. due to a DNS error, network error, or if the
   server returned a 4xx or 5xx status code <a href=#concept-http-equivalent-codes title=concept-http-equivalent-codes>or

Modified: index
===================================================================
--- index	2013-02-09 21:08:33 UTC (rev 7713)
+++ index	2013-02-09 21:23:29 UTC (rev 7714)
@@ -11797,6 +11797,9 @@
 
    <!-- <span>the document's referrer</span> stays the same -->
 
+   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#iframe-load-in-progress>iframe load in progress</a> flag is set, set the
+   <code><a href=#document>Document</a></code>'s <a href=#mute-iframe-load>mute iframe load</a> flag.</li>
+
    <li><p>Create a new <a href=#html-parser>HTML parser</a> and associate it with the document. This is a
    <dfn id=script-created-parser>script-created parser</dfn> (meaning that it can be closed by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> and <code title=dom-document-close><a href=#dom-document-close>document.close()</a></code> methods, and that the tokenizer will wait for
    an explicit call to <code title=dom-document-close><a href=#dom-document-close>document.close()</a></code> before emitting an
@@ -24184,11 +24187,27 @@
   <p>When a <code><a href=#document>Document</a></code> in an <code><a href=#the-iframe-element>iframe</a></code> is marked as <a href=#completely-loaded>completely
   loaded</a>, the user agent must synchronously run the <a href=#iframe-load-event-steps>iframe load event steps</a>.</p>
 
+  <p>Each <code><a href=#document>Document</a></code> has an <dfn id=iframe-load-in-progress>iframe load in progress</dfn> flag and a <dfn id=mute-iframe-load>mute
+  iframe load</dfn> flag. When a <code><a href=#document>Document</a></code> is created, these flags must be unset for
+  that <code><a href=#document>Document</a></code>.</p>
+
   <p>The <dfn id=iframe-load-event-steps>iframe load event steps</dfn> are as follows:</p>
 
-  <ol><li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-load>load</code> at the
+  <ol><li><p>Let <var title="">child document</var> be the <a href=#active-document>active document</a> of the
+   <code><a href=#the-iframe-element>iframe</a></code> element's <a href=#nested-browsing-context>nested browsing context</a>.</li>
+
+   <li><p>If <var title="">child document</var> has its <a href=#mute-iframe-load>mute iframe load</a> flag set,
+   abort these steps.</li>
+
+   <li><p>Set <var title="">child document</var>'s <a href=#iframe-load-in-progress>iframe load in progress</a>
+   flag.</li>
+
+   <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-load>load</code> at the
    <code><a href=#the-iframe-element>iframe</a></code> element.</li>
 
+   <li><p>Unset <var title="">child document</var>'s <a href=#iframe-load-in-progress>iframe load in progress</a>
+   flag.</li>
+
   </ol><p>When content whose <a href=#url>URL</a> has the <a href=#same-origin>same origin</a> as the <code><a href=#the-iframe-element>iframe</a></code>
   element's <code><a href=#document>Document</a></code> fails to load (e.g. due to a DNS error, network error, or if the
   server returned a 4xx or 5xx status code <a href=#concept-http-equivalent-codes title=concept-http-equivalent-codes>or

Modified: source
===================================================================
--- source	2013-02-09 21:08:33 UTC (rev 7713)
+++ source	2013-02-09 21:23:29 UTC (rev 7714)
@@ -12009,6 +12009,9 @@
 
    <!-- <span>the document's referrer</span> stays the same -->
 
+   <li><p>If the <code>Document</code>'s <span>iframe load in progress</span> flag is set, set the
+   <code>Document</code>'s <span>mute iframe load</span> flag.</p></li>
+
    <li><p>Create a new <span>HTML parser</span> and associate it with the document. This is a
    <dfn>script-created parser</dfn> (meaning that it can be closed by the <code
    title="dom-document-open">document.open()</code> and <code
@@ -25643,13 +25646,29 @@
   <p>When a <code>Document</code> in an <code>iframe</code> is marked as <span>completely
   loaded</span>, the user agent must synchronously run the <span>iframe load event steps</span>.</p>
 
+  <p>Each <code>Document</code> has an <dfn>iframe load in progress</dfn> flag and a <dfn>mute
+  iframe load</dfn> flag. When a <code>Document</code> is created, these flags must be unset for
+  that <code>Document</code>.</p>
+
   <p>The <dfn>iframe load event steps</dfn> are as follows:</p>
 
   <ol>
 
+   <li><p>Let <var title="">child document</var> be the <span>active document</span> of the
+   <code>iframe</code> element's <span>nested browsing context</span>.</p></li>
+
+   <li><p>If <var title="">child document</var> has its <span>mute iframe load</span> flag set,
+   abort these steps.</p></li>
+
+   <li><p>Set <var title="">child document</var>'s <span>iframe load in progress</span>
+   flag.</p></li>
+
    <li><p><span>Fire a simple event</span> named <code title="event-load">load</code> at the
    <code>iframe</code> element.</p></li>
 
+   <li><p>Unset <var title="">child document</var>'s <span>iframe load in progress</span>
+   flag.</p></li>
+
   </ol>
 
   <p>When content whose <span>URL</span> has the <span>same origin</span> as the <code>iframe</code>




More information about the Commit-Watchers mailing list