[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