[html5] r8287 - [e] (0) Clean up how we describe the 'delay the load event' logic for loading ne [...]

whatwg at whatwg.org whatwg at whatwg.org
Fri Nov 15 13:20:56 PST 2013


Author: ianh
Date: 2013-11-15 13:20:55 -0800 (Fri, 15 Nov 2013)
New Revision: 8287

Modified:
   complete.html
   index
   source
Log:
[e] (0) Clean up how we describe the 'delay the load event' logic for loading nested iframes
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=23633
Affected topics: HTML

Modified: complete.html
===================================================================
--- complete.html	2013-11-15 16:30:51 UTC (rev 8286)
+++ complete.html	2013-11-15 21:20:55 UTC (rev 8287)
@@ -66586,6 +66586,21 @@
 
    <li>
 
+    <p>If the <a href=#browsing-context>browsing context</a> being navigated is a <a href=#nested-browsing-context>nested browsing
+    context</a>, then put it in the <a href=#delaying-load-events-mode>delaying <code title=event-load>load</code> events
+    mode</a>.</p>
+
+    <p>The user agent must take this <a href=#nested-browsing-context>nested browsing context</a> out of the <a href=#delaying-load-events-mode>delaying
+    <code title=event-load>load</code> events mode</a> when this <a href=#navigate title=navigate>navigation</a> algorithm later <a href=#concept-navigate-mature title=concept-navigate-mature>matures</a>, or when it terminates (whether due to having
+    run all the steps, or being canceled, or being aborted), whichever happens first.</p>
+
+    <!-- this is what makes <iframe> elements delay the load event of their parent browsing context
+    when their child browsing context is in between this step and the step that starts the parser. -->
+
+   </li>
+
+   <li>
+
     <p>This is the step that attempts to obtain the resource, if necessary. Jump to the first
     appropriate substep:</p>
 
@@ -66724,16 +66739,7 @@
 
      </dd>
 
-    </dl><p>If the <a href=#browsing-context>browsing context</a> is a <a href=#nested-browsing-context>nested browsing context</a>, then in the
-    time between this step and either the creation of a <code><a href=#document>Document</a></code> object or the <!-- XXX
-    bug 23633 --> <span>canceling</span> of the <a href=#navigate title=navigate>navigation</a>
-    algorithm<!-- /XXX bug 23633 -->, whichever happens first, the <a href=#browsing-context>browsing context</a>
-    must be put in the <a href=#delaying-load-events-mode>delaying <code title=event-load>load</code> events mode</a>.</p>
-    <!-- this is what makes <iframe> elements delay the load event of their parent browsing context
-    when their child browsing context is in between this step and the step that starts the parser.
-    -->
-
-    <p>If the steps above invoked the <a href=#fetch>fetch</a> algorith, the following requirements also
+    </dl><p>If the steps above invoked the <a href=#fetch>fetch</a> algorith, the following requirements also
     apply:</p>
 
     <p>If the resource is being fetched using a method other than one <a href=#concept-http-equivalent-get title=concept-http-equivalent-get>equivalent to</a> HTTP's GET<!-- or HEAD (but that can't
@@ -66901,8 +66907,8 @@
    described there:</p>
 
     <dl class=switch><!-- an <span>HTML MIME type</span> --><dt>"<code><a href=#text/html>text/html</a></code>"</dt>
-     <dd>Follow the steps given in the <a href=#read-html title=navigate-html>HTML document</a> section, and
-     abort these steps.</dd>
+     <dd>Follow the steps given in the <a href=#read-html title=navigate-html>HTML document</a> section,
+     and then, once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <!-- an <span>XML MIME type</span> -->
      <dt>"<code>application/xml</code>"</dt>
@@ -66912,27 +66918,28 @@
      <dt>Any other type ending in "<code title="">+xml</code>" that is not an <a href=#explicitly-supported-xml-type>explicitly
      supported XML type</a></dt> <!-- no need to say that the _subtype_ ends in "+xml" so long as
      the "sniffed type" algorithm continues to drop parameters -->
+<!--CLEANUP-->
      <dd>Follow the steps given in the <a href=#read-xml title=navigate-xml>XML document</a> section. If
      that section determines that the content is <em>not</em> to be displayed as a generic XML
-     document, then proceed to the next step in this overall set of steps. Otherwise, abort these
-     steps.</dd>
+     document, then proceed to the next step in this overall set of steps. Otherwise, once the steps given in the <a href=#read-xml title=navigate-xml>XML document</a> section have completed,
+     abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <dt>"<code>text/plain</code>"</dt>
      <dd>Follow the steps given in the <a href=#read-text title=navigate-text>plain text file</a> section,
-     and abort these steps.</dd>
+     and then, once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <dt>"<code><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code>"</dt>
-     <dd>Follow the steps given in the <a href=#read-multipart-x-mixed-replace title=navigate-multipart-x-mixed-replace>multipart/x-mixed-replace</a> section, and abort
-     these steps.</dd>
+     <dd>Follow the steps given in the <a href=#read-multipart-x-mixed-replace title=navigate-multipart-x-mixed-replace>multipart/x-mixed-replace</a> section, and then,
+     once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <dt>A supported image, video, or audio type</dt>
-     <dd>Follow the steps given in the <a href=#read-media title=navigate-media>media</a> section, and abort
-     these steps.</dd>
+     <dd>Follow the steps given in the <a href=#read-media title=navigate-media>media</a> section, and then,
+     once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <dt>A type that will use an external application to render the content in the <a href=#browsing-context>browsing
      context</a></dt>
-     <dd>Follow the steps given in the <a href=#read-plugin title=navigate-plugin>plugin</a> section, and
-     abort these steps.</dd>
+     <dd>Follow the steps given in the <a href=#read-plugin title=navigate-plugin>plugin</a> section, and then,
+     once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
     </dl><p>An <dfn id=explicitly-supported-xml-type>explicitly supported XML type</dfn> is one for which the user agent is configured to
     use an external application to render the content (either a <a href=#plugin>plugin</a> rendering
@@ -66994,11 +67001,12 @@
 
    <li id=navigate-non-Document>
 
+<!--CLEANUP-->
     <p><i>Non-document content</i>: If, given <var title="">type</var>, the new resource is to be
     handled by displaying some sort of inline content, e.g. a native rendering of the content, an
     error message because the specified type is not supported, or an inline prompt to allow the user
     to select <a href=#dom-navigator-registercontenthandler title=dom-navigator-registerContentHandler>a registered handler</a> for the
-    given type, then <a href=#read-ua-inline title=navigate-ua-inline>display the inline content</a> and abort
+    given type, then <a href=#read-ua-inline title=navigate-ua-inline>display the inline content</a>, and then abort
     these steps.</p>
 
     <p class=note>In the case of a registered handler being used, the algorithm will be reinvoked

Modified: index
===================================================================
--- index	2013-11-15 16:30:51 UTC (rev 8286)
+++ index	2013-11-15 21:20:55 UTC (rev 8287)
@@ -66586,6 +66586,21 @@
 
    <li>
 
+    <p>If the <a href=#browsing-context>browsing context</a> being navigated is a <a href=#nested-browsing-context>nested browsing
+    context</a>, then put it in the <a href=#delaying-load-events-mode>delaying <code title=event-load>load</code> events
+    mode</a>.</p>
+
+    <p>The user agent must take this <a href=#nested-browsing-context>nested browsing context</a> out of the <a href=#delaying-load-events-mode>delaying
+    <code title=event-load>load</code> events mode</a> when this <a href=#navigate title=navigate>navigation</a> algorithm later <a href=#concept-navigate-mature title=concept-navigate-mature>matures</a>, or when it terminates (whether due to having
+    run all the steps, or being canceled, or being aborted), whichever happens first.</p>
+
+    <!-- this is what makes <iframe> elements delay the load event of their parent browsing context
+    when their child browsing context is in between this step and the step that starts the parser. -->
+
+   </li>
+
+   <li>
+
     <p>This is the step that attempts to obtain the resource, if necessary. Jump to the first
     appropriate substep:</p>
 
@@ -66724,16 +66739,7 @@
 
      </dd>
 
-    </dl><p>If the <a href=#browsing-context>browsing context</a> is a <a href=#nested-browsing-context>nested browsing context</a>, then in the
-    time between this step and either the creation of a <code><a href=#document>Document</a></code> object or the <!-- XXX
-    bug 23633 --> <span>canceling</span> of the <a href=#navigate title=navigate>navigation</a>
-    algorithm<!-- /XXX bug 23633 -->, whichever happens first, the <a href=#browsing-context>browsing context</a>
-    must be put in the <a href=#delaying-load-events-mode>delaying <code title=event-load>load</code> events mode</a>.</p>
-    <!-- this is what makes <iframe> elements delay the load event of their parent browsing context
-    when their child browsing context is in between this step and the step that starts the parser.
-    -->
-
-    <p>If the steps above invoked the <a href=#fetch>fetch</a> algorith, the following requirements also
+    </dl><p>If the steps above invoked the <a href=#fetch>fetch</a> algorith, the following requirements also
     apply:</p>
 
     <p>If the resource is being fetched using a method other than one <a href=#concept-http-equivalent-get title=concept-http-equivalent-get>equivalent to</a> HTTP's GET<!-- or HEAD (but that can't
@@ -66901,8 +66907,8 @@
    described there:</p>
 
     <dl class=switch><!-- an <span>HTML MIME type</span> --><dt>"<code><a href=#text/html>text/html</a></code>"</dt>
-     <dd>Follow the steps given in the <a href=#read-html title=navigate-html>HTML document</a> section, and
-     abort these steps.</dd>
+     <dd>Follow the steps given in the <a href=#read-html title=navigate-html>HTML document</a> section,
+     and then, once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <!-- an <span>XML MIME type</span> -->
      <dt>"<code>application/xml</code>"</dt>
@@ -66912,27 +66918,28 @@
      <dt>Any other type ending in "<code title="">+xml</code>" that is not an <a href=#explicitly-supported-xml-type>explicitly
      supported XML type</a></dt> <!-- no need to say that the _subtype_ ends in "+xml" so long as
      the "sniffed type" algorithm continues to drop parameters -->
+<!--CLEANUP-->
      <dd>Follow the steps given in the <a href=#read-xml title=navigate-xml>XML document</a> section. If
      that section determines that the content is <em>not</em> to be displayed as a generic XML
-     document, then proceed to the next step in this overall set of steps. Otherwise, abort these
-     steps.</dd>
+     document, then proceed to the next step in this overall set of steps. Otherwise, once the steps given in the <a href=#read-xml title=navigate-xml>XML document</a> section have completed,
+     abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <dt>"<code>text/plain</code>"</dt>
      <dd>Follow the steps given in the <a href=#read-text title=navigate-text>plain text file</a> section,
-     and abort these steps.</dd>
+     and then, once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <dt>"<code><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code>"</dt>
-     <dd>Follow the steps given in the <a href=#read-multipart-x-mixed-replace title=navigate-multipart-x-mixed-replace>multipart/x-mixed-replace</a> section, and abort
-     these steps.</dd>
+     <dd>Follow the steps given in the <a href=#read-multipart-x-mixed-replace title=navigate-multipart-x-mixed-replace>multipart/x-mixed-replace</a> section, and then,
+     once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <dt>A supported image, video, or audio type</dt>
-     <dd>Follow the steps given in the <a href=#read-media title=navigate-media>media</a> section, and abort
-     these steps.</dd>
+     <dd>Follow the steps given in the <a href=#read-media title=navigate-media>media</a> section, and then,
+     once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
      <dt>A type that will use an external application to render the content in the <a href=#browsing-context>browsing
      context</a></dt>
-     <dd>Follow the steps given in the <a href=#read-plugin title=navigate-plugin>plugin</a> section, and
-     abort these steps.</dd>
+     <dd>Follow the steps given in the <a href=#read-plugin title=navigate-plugin>plugin</a> section, and then,
+     once they have completed, abort this <a href=#navigate>navigate</a> algorithm.</dd>
 
     </dl><p>An <dfn id=explicitly-supported-xml-type>explicitly supported XML type</dfn> is one for which the user agent is configured to
     use an external application to render the content (either a <a href=#plugin>plugin</a> rendering
@@ -66994,11 +67001,12 @@
 
    <li id=navigate-non-Document>
 
+<!--CLEANUP-->
     <p><i>Non-document content</i>: If, given <var title="">type</var>, the new resource is to be
     handled by displaying some sort of inline content, e.g. a native rendering of the content, an
     error message because the specified type is not supported, or an inline prompt to allow the user
     to select <a href=#dom-navigator-registercontenthandler title=dom-navigator-registerContentHandler>a registered handler</a> for the
-    given type, then <a href=#read-ua-inline title=navigate-ua-inline>display the inline content</a> and abort
+    given type, then <a href=#read-ua-inline title=navigate-ua-inline>display the inline content</a>, and then abort
     these steps.</p>
 
     <p class=note>In the case of a registered handler being used, the algorithm will be reinvoked

Modified: source
===================================================================
--- source	2013-11-15 16:30:51 UTC (rev 8286)
+++ source	2013-11-15 21:20:55 UTC (rev 8287)
@@ -74163,6 +74163,23 @@
 
    <li>
 
+    <p>If the <span>browsing context</span> being navigated is a <span>nested browsing
+    context</span>, then put it in the <span>delaying <code data-x="event-load">load</code> events
+    mode</span>.</p>
+
+    <p>The user agent must take this <span>nested browsing context</span> out of the <span>delaying
+    <code data-x="event-load">load</code> events mode</span> when this <span
+    data-x="navigate">navigation</span> algorithm later <span
+    data-x="concept-navigate-mature">matures</span>, or when it terminates (whether due to having
+    run all the steps, or being canceled, or being aborted), whichever happens first.</p>
+
+    <!-- this is what makes <iframe> elements delay the load event of their parent browsing context
+    when their child browsing context is in between this step and the step that starts the parser. -->
+
+   </li>
+
+   <li>
+
     <p>This is the step that attempts to obtain the resource, if necessary. Jump to the first
     appropriate substep:</p>
 
@@ -74322,15 +74339,6 @@
 
     </dl>
 
-    <p>If the <span>browsing context</span> is a <span>nested browsing context</span>, then in the
-    time between this step and either the creation of a <code>Document</code> object or the <!-- XXX
-    bug 23633 --> <span>canceling</span> of the <span data-x="navigate">navigation</span>
-    algorithm<!-- /XXX bug 23633 -->, whichever happens first, the <span>browsing context</span>
-    must be put in the <span>delaying <code data-x="event-load">load</code> events mode</span>.</p>
-    <!-- this is what makes <iframe> elements delay the load event of their parent browsing context
-    when their child browsing context is in between this step and the step that starts the parser.
-    -->
-
     <p>If the steps above invoked the <span>fetch</span> algorith, the following requirements also
     apply:</p>
 
@@ -74516,8 +74524,8 @@
 
      <!-- an <span>HTML MIME type</span> -->
      <dt>"<code>text/html</code>"</dt>
-     <dd>Follow the steps given in the <span data-x="navigate-html">HTML document</span> section, and
-     abort these steps.</dd>
+     <dd>Follow the steps given in the <span data-x="navigate-html">HTML document</span> section,
+     and then, once they have completed, abort this <span>navigate</span> algorithm.</dd>
 
      <!-- an <span>XML MIME type</span> -->
      <dt>"<code>application/xml</code>"</dt>
@@ -74527,28 +74535,29 @@
      <dt>Any other type ending in "<code data-x="">+xml</code>" that is not an <span>explicitly
      supported XML type</span></dt> <!-- no need to say that the _subtype_ ends in "+xml" so long as
      the "sniffed type" algorithm continues to drop parameters -->
+<!--CLEANUP-->
      <dd>Follow the steps given in the <span data-x="navigate-xml">XML document</span> section. If
      that section determines that the content is <em>not</em> to be displayed as a generic XML
-     document, then proceed to the next step in this overall set of steps. Otherwise, abort these
-     steps.</dd>
+     document, then proceed to the next step in this overall set of steps. Otherwise, once the steps given in the <span data-x="navigate-xml">XML document</span> section have completed,
+     abort this <span>navigate</span> algorithm.</dd>
 
      <dt>"<code>text/plain</code>"</dt>
      <dd>Follow the steps given in the <span data-x="navigate-text">plain text file</span> section,
-     and abort these steps.</dd>
+     and then, once they have completed, abort this <span>navigate</span> algorithm.</dd>
 
      <dt>"<code>multipart/x-mixed-replace</code>"</dt>
      <dd>Follow the steps given in the <span
-     data-x="navigate-multipart-x-mixed-replace">multipart/x-mixed-replace</span> section, and abort
-     these steps.</dd>
+     data-x="navigate-multipart-x-mixed-replace">multipart/x-mixed-replace</span> section, and then,
+     once they have completed, abort this <span>navigate</span> algorithm.</dd>
 
      <dt>A supported image, video, or audio type</dt>
-     <dd>Follow the steps given in the <span data-x="navigate-media">media</span> section, and abort
-     these steps.</dd>
+     <dd>Follow the steps given in the <span data-x="navigate-media">media</span> section, and then,
+     once they have completed, abort this <span>navigate</span> algorithm.</dd>
 
      <dt>A type that will use an external application to render the content in the <span>browsing
      context</span></dt>
-     <dd>Follow the steps given in the <span data-x="navigate-plugin">plugin</span> section, and
-     abort these steps.</dd>
+     <dd>Follow the steps given in the <span data-x="navigate-plugin">plugin</span> section, and then,
+     once they have completed, abort this <span>navigate</span> algorithm.</dd>
 
     </dl>
 
@@ -74619,11 +74628,12 @@
 
    <li id="navigate-non-Document">
 
+<!--CLEANUP-->
     <p><i>Non-document content</i>: If, given <var data-x="">type</var>, the new resource is to be
     handled by displaying some sort of inline content, e.g. a native rendering of the content, an
     error message because the specified type is not supported, or an inline prompt to allow the user
     to select <span data-x="dom-navigator-registerContentHandler">a registered handler</span> for the
-    given type, then <span data-x="navigate-ua-inline">display the inline content</span> and abort
+    given type, then <span data-x="navigate-ua-inline">display the inline content</span>, and then abort
     these steps.</p>
 
     <p class="note">In the case of a registered handler being used, the algorithm will be reinvoked




More information about the Commit-Watchers mailing list