[html5] r4772 - [giow] (2) Make blank <iframe>s fire 'load' events when created. Fixing http://w [...]

whatwg at whatwg.org whatwg at whatwg.org
Wed Feb 17 18:27:18 PST 2010


Author: ianh
Date: 2010-02-17 18:27:17 -0800 (Wed, 17 Feb 2010)
New Revision: 4772

Modified:
   complete.html
   index
   source
Log:
[giow] (2) Make blank <iframe>s fire 'load' events when created.
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=8837

Modified: complete.html
===================================================================
--- complete.html	2010-02-18 02:05:50 UTC (rev 4771)
+++ complete.html	2010-02-18 02:27:17 UTC (rev 4772)
@@ -19881,7 +19881,7 @@
    <code><a href=#about:srcdoc>about:srcdoc</a></code>, and whose data consists of the value of
    the attribute.</dd>
 
-   <dt>Otherwise, if the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code>
+   <dt>If the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code>
    attribute is specified but the <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute is not</dt>
 
    <dd>
@@ -19889,26 +19889,45 @@
     <ol><!--
      <li><p>If the value of the <code
      title="attr-iframe-src">src</code> attribute is the empty string,
-     and the user agent is processing this <code>iframe</code>'s
-     attributes for the first time, then abort these steps.</p></li>
+     jump to the <i title="">empty</i> step below.</p></li>
 --><li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the value of
      the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute, relative
      to the <code><a href=#the-iframe-element>iframe</a></code> element.</li>
 
-     <li><p>If that is not successful, abort these steps.</li>
+     <li><p>If that is not successful, then jump to the <i title="">empty</i> step below.</li>
 
      <li><p>If the resulting <a href=#absolute-url>absolute URL</a> is an
      <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string
      "<code><a href=#about:blank>about:blank</a></code>", and the user agent is processing this
-     <code><a href=#the-iframe-element>iframe</a></code>'s attributes for the first time, then abort
-     these steps.</li>
+     <code><a href=#the-iframe-element>iframe</a></code>'s attributes for the first time, then jump to
+     the <i title="">empty</i> step below. (In cases other than the
+     first time, <code><a href=#about:blank>about:blank</a></code> is loaded
+     normally.)</li>
 
      <li><p><a href=#navigate>Navigate</a> the element's <a href=#browsing-context>browsing
      context</a> to the resulting <a href=#absolute-url>absolute
      URL</a>.</li>
 
-    </ol></dd>
+    </ol><p><i>Empty:</i> When the steps above require the user agent to
+    jump to the <i title="">empty</i> step, if the user agent is
+    processing this <code><a href=#the-iframe-element>iframe</a></code>'s attributes for the first
+    time, then the user agent must <a href=#queue-a-task>queue a task</a> to
+    <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. (After jumping to this step, the above steps are not
+    resumed.)</p>
 
+   </dd>
+
+   <dt>Otherwise</dt>
+
+   <dd>
+
+    <p><a href=#queue-a-task>Queue a task</a> to <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.</p>
+
+   </dd>
+
   </dl><p>Any <a href=#navigate title=navigate>navigation</a> required of the user
   agent in the <a href=#process-the-iframe-attributes>process the <code>iframe</code> attributes</a>
   algorithm must be completed with the <code><a href=#the-iframe-element>iframe</a></code> element's
@@ -20015,6 +20034,10 @@
   <p>The <a href=#task-source>task source</a> for these <a href=#concept-task title=concept-task>tasks</a> is the <a href=#dom-manipulation-task-source>DOM manipulation
   task source</a>.</p>
 
+  <p class=note>A <code title=event-load>load</code> event is also
+  fired at the <code><a href=#the-iframe-element>iframe</a></code> element when it is created if no
+  other data is loaded in it.</p>
+
   <p>When there is an <a href=#active-parser>active parser</a> in the
   <code><a href=#the-iframe-element>iframe</a></code>, and when anything in the <code><a href=#the-iframe-element>iframe</a></code> is
   <a href=#delay-the-load-event title="delay the load event">delaying the load event</a> of

Modified: index
===================================================================
--- index	2010-02-18 02:05:50 UTC (rev 4771)
+++ index	2010-02-18 02:27:17 UTC (rev 4772)
@@ -19780,7 +19780,7 @@
    <code><a href=#about:srcdoc>about:srcdoc</a></code>, and whose data consists of the value of
    the attribute.</dd>
 
-   <dt>Otherwise, if the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code>
+   <dt>If the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code>
    attribute is specified but the <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute is not</dt>
 
    <dd>
@@ -19788,26 +19788,45 @@
     <ol><!--
      <li><p>If the value of the <code
      title="attr-iframe-src">src</code> attribute is the empty string,
-     and the user agent is processing this <code>iframe</code>'s
-     attributes for the first time, then abort these steps.</p></li>
+     jump to the <i title="">empty</i> step below.</p></li>
 --><li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the value of
      the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute, relative
      to the <code><a href=#the-iframe-element>iframe</a></code> element.</li>
 
-     <li><p>If that is not successful, abort these steps.</li>
+     <li><p>If that is not successful, then jump to the <i title="">empty</i> step below.</li>
 
      <li><p>If the resulting <a href=#absolute-url>absolute URL</a> is an
      <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string
      "<code><a href=#about:blank>about:blank</a></code>", and the user agent is processing this
-     <code><a href=#the-iframe-element>iframe</a></code>'s attributes for the first time, then abort
-     these steps.</li>
+     <code><a href=#the-iframe-element>iframe</a></code>'s attributes for the first time, then jump to
+     the <i title="">empty</i> step below. (In cases other than the
+     first time, <code><a href=#about:blank>about:blank</a></code> is loaded
+     normally.)</li>
 
      <li><p><a href=#navigate>Navigate</a> the element's <a href=#browsing-context>browsing
      context</a> to the resulting <a href=#absolute-url>absolute
      URL</a>.</li>
 
-    </ol></dd>
+    </ol><p><i>Empty:</i> When the steps above require the user agent to
+    jump to the <i title="">empty</i> step, if the user agent is
+    processing this <code><a href=#the-iframe-element>iframe</a></code>'s attributes for the first
+    time, then the user agent must <a href=#queue-a-task>queue a task</a> to
+    <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. (After jumping to this step, the above steps are not
+    resumed.)</p>
 
+   </dd>
+
+   <dt>Otherwise</dt>
+
+   <dd>
+
+    <p><a href=#queue-a-task>Queue a task</a> to <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.</p>
+
+   </dd>
+
   </dl><p>Any <a href=#navigate title=navigate>navigation</a> required of the user
   agent in the <a href=#process-the-iframe-attributes>process the <code>iframe</code> attributes</a>
   algorithm must be completed with the <code><a href=#the-iframe-element>iframe</a></code> element's
@@ -19914,6 +19933,10 @@
   <p>The <a href=#task-source>task source</a> for these <a href=#concept-task title=concept-task>tasks</a> is the <a href=#dom-manipulation-task-source>DOM manipulation
   task source</a>.</p>
 
+  <p class=note>A <code title=event-load>load</code> event is also
+  fired at the <code><a href=#the-iframe-element>iframe</a></code> element when it is created if no
+  other data is loaded in it.</p>
+
   <p>When there is an <a href=#active-parser>active parser</a> in the
   <code><a href=#the-iframe-element>iframe</a></code>, and when anything in the <code><a href=#the-iframe-element>iframe</a></code> is
   <a href=#delay-the-load-event title="delay the load event">delaying the load event</a> of

Modified: source
===================================================================
--- source	2010-02-18 02:05:50 UTC (rev 4771)
+++ source	2010-02-18 02:27:17 UTC (rev 4772)
@@ -21119,7 +21119,7 @@
    <code>about:srcdoc</code>, and whose data consists of the value of
    the attribute.</p></dd>
 
-   <dt>Otherwise, if the <code title="attr-iframe-src">src</code>
+   <dt>If the <code title="attr-iframe-src">src</code>
    attribute is specified but the <code
    title="attr-iframe-srcdoc">srcdoc</code> attribute is not</dt>
 
@@ -21130,21 +21130,23 @@
 <!--
      <li><p>If the value of the <code
      title="attr-iframe-src">src</code> attribute is the empty string,
-     and the user agent is processing this <code>iframe</code>'s
-     attributes for the first time, then abort these steps.</p></li>
+     jump to the <i title="">empty</i> step below.</p></li>
 -->
 
      <li><p><span title="resolve a url">Resolve</span> the value of
      the <code title="attr-iframe-src">src</code> attribute, relative
      to the <code>iframe</code> element.</p></li>
 
-     <li><p>If that is not successful, abort these steps.</p></li>
+     <li><p>If that is not successful, then jump to the <i
+     title="">empty</i> step below.</p></li>
 
      <li><p>If the resulting <span>absolute URL</span> is an
      <span>ASCII case-insensitive</span> match for the string
      "<code>about:blank</code>", and the user agent is processing this
-     <code>iframe</code>'s attributes for the first time, then abort
-     these steps.</p></li>
+     <code>iframe</code>'s attributes for the first time, then jump to
+     the <i title="">empty</i> step below. (In cases other than the
+     first time, <code>about:blank</code> is loaded
+     normally.)</p></li>
 
      <li><p><span>Navigate</span> the element's <span>browsing
      context</span> to the resulting <span>absolute
@@ -21152,8 +21154,27 @@
 
     </ol>
 
+    <p><i>Empty:</i> When the steps above require the user agent to
+    jump to the <i title="">empty</i> step, if the user agent is
+    processing this <code>iframe</code>'s attributes for the first
+    time, then the user agent must <span>queue a task</span> to
+    <span>fire a simple event</span> named <code
+    title="event-load">load</code> at the <code>iframe</code>
+    element. (After jumping to this step, the above steps are not
+    resumed.)</p>
+
    </dd>
 
+   <dt>Otherwise</dt>
+
+   <dd>
+
+    <p><span>Queue a task</span> to <span>fire a simple event</span>
+    named <code title="event-load">load</code> at the
+    <code>iframe</code> element.</p>
+
+   </dd>
+
   </dl>
 
   <p>Any <span title="navigate">navigation</span> required of the user
@@ -21274,6 +21295,10 @@
   title="concept-task">tasks</span> is the <span>DOM manipulation
   task source</span>.</p>
 
+  <p class="note">A <code title="event-load">load</code> event is also
+  fired at the <code>iframe</code> element when it is created if no
+  other data is loaded in it.</p>
+
   <p>When there is an <span>active parser</span> in the
   <code>iframe</code>, and when anything in the <code>iframe</code> is
   <span title="delay the load event">delaying the load event</span> of




More information about the Commit-Watchers mailing list