[html5] r7743 - [giow] (2) Try to make ordering of media events even more well-defined. Fixing h [...]

whatwg at whatwg.org whatwg at whatwg.org
Fri Mar 8 11:47:31 PST 2013


Author: ianh
Date: 2013-03-08 11:47:30 -0800 (Fri, 08 Mar 2013)
New Revision: 7743

Modified:
   complete.html
   index
   source
Log:
[giow] (2) Try to make ordering of media events even more well-defined.
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=18570
Affected topics: Video and Audio

Modified: complete.html
===================================================================
--- complete.html	2013-03-08 18:50:20 UTC (rev 7742)
+++ complete.html	2013-03-08 19:47:30 UTC (rev 7743)
@@ -26772,7 +26772,8 @@
 
   <div class=impl>
 
-  <p>Except where otherwise specified, the <a href=#task-source>task source</a> for all the tasks <a href=#queue-a-task title="queue a task">queued</a> in this section and its subsections is the <dfn id=media-element-event-task-source>media element
+<!--CLEANUP-->
+  <p>Except where otherwise explicitly specified, the <a href=#task-source>task source</a> for all the tasks <a href=#queue-a-task title="queue a task">queued</a> in this section and its subsections is the <dfn id=media-element-event-task-source>media element
   event task source</dfn>.</p>
 
   </div>
@@ -27070,9 +27071,10 @@
     element</a>'s <a href=#media-element-event-task-source>media element event task source</a> in one of the <a href=#task-queue title="task
     queue">task queues</a>, then remove those tasks.</p>
 
+<!--CLEANUP-->
     <p>If there are any <a href=#concept-task title=concept-task>tasks</a> that were <a href=#queue-a-task title="queue a
     task">queued</a> by the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
-    algorithm</a> for this same <a href=#media-element>media element</a> from the <a href=#dom-manipulation-task-source>DOM manipulation task
+    algorithm</a> (including the algorithms that it itself invokes) for this same <a href=#media-element>media element</a> from the <a href=#dom-manipulation-task-source>DOM manipulation task
     source</a> in one of the <a href=#task-queue title="task queue">task queues</a>, then remove those
     tasks.</p>
 
@@ -27170,6 +27172,9 @@
 
    <li><p>Set the element's <a href=#show-poster-flag>show poster flag</a> to true.</li>
 
+   <li><p>Set the <a href=#media-element>media element</a>'s <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to true
+   (this <a href=#delay-the-load-event title="delay the load event">delays the load event</a>).</li>
+
    <li><p>Asynchronously <a href=#await-a-stable-state>await a stable state</a>, allowing the <a href=#concept-task title=concept-task>task</a> that invoked this algorithm to continue. The <a href=#synchronous-section>synchronous
    section</a> consists of all the remaining steps of this algorithm until the algorithm says the
    <a href=#synchronous-section>synchronous section</a> has ended. (Steps in <a href=#synchronous-section title="synchronous
@@ -27198,8 +27203,7 @@
 
    </li>
 
-   <li><p>⌛ Set the <a href=#media-element>media element</a>'s <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to
-   true (this <a href=#delay-the-load-event title="delay the load event">delays the load event</a>), and set its <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>.</li>
+   <li><p>⌛ Set the <a href=#media-element>media element</a>'s <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>.</li>
 
    <li><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-media-loadstart><a href=#event-media-loadstart>loadstart</a></code> at the <a href=#media-element>media element</a>.</li>
 
@@ -27230,8 +27234,9 @@
      <li>
 
       <p><i>Failed</i>: Reaching this step indicates that the media resource failed to load or that
-      the given <a href=#url>URL</a> could not be <a href=#resolve-a-url title="resolve a url">resolved</a>. In one
-      atomic operation, run the following steps:</p>
+      the given <a href=#url>URL</a> could not be <a href=#resolve-a-url title="resolve a url">resolved</a>.
+      <a href=#queue-a-task>Queue a task</a> to run the following steps, using the <a href=#dom-manipulation-task-source>DOM manipulation task
+      source</a>:</p>
 
       <ol><li><p>Set the <code title=dom-media-error><a href=#dom-media-error>error</a></code> attribute to a new
        <code><a href=#mediaerror>MediaError</a></code> object whose <code title=dom-MediaError-code><a href=#dom-mediaerror-code>code</a></code> attribute
@@ -27244,13 +27249,16 @@
 
        <li><p>Set the element's <a href=#show-poster-flag>show poster flag</a> to true.</li>
 
+       <li><p><a href=#fire-a-simple-event>fire a simple event</a> named <code title=event-media-error><a href=#event-media-error>error</a></code> at
+       the <a href=#media-element>media element</a>, using the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</li>
+
+       <li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
+
       </ol></li>
 
-     <li><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-media-error><a href=#event-media-error>error</a></code> at the <a href=#media-element>media element</a>, using the <a href=#dom-manipulation-task-source>DOM
-     manipulation task source</a>.</li>
+     <li><p>Wait for the <a href=#concept-task title=concept-task>task</a> queued by the previous step to have
+     executed.</li>
 
-     <li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
-
      <li><p>Abort these steps. Until the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method is
      invoked or the <code title=attr-media-src><a href=#attr-media-src>src</a></code> attribute is changed, the element won't
      attempt to load another resource.</li>
@@ -27321,7 +27329,8 @@
      <var title="">absolute URL</var>. If that algorithm returns without aborting <em>this</em> one,
      then the load failed.</li>
 
-     <li><p><i title="">Failed</i>: <a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a>
+<!--CLEANUP-->
+     <li><p><i title="">Failed</i>: <a href=#queue-a-task>Queue a task</a>, using the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>, to <a href=#fire-a-simple-event>fire a simple event</a>
      named <code title=event-error>error</code> at the <var title="">candidate</var> element, in
      the context of the <a href=#fetch title=fetch>fetching process</a> that was used to try to obtain
      <var title="">candidate</var>'s corresponding <a href=#media-resource>media resource</a> in the <a href=#concept-media-load-resource title=concept-media-load-resource>resource fetch algorithm</a>.</li>
@@ -27394,13 +27403,19 @@
 
     <ol><li><p>Set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code>.</li>
 
-     <li><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-media-suspend><a href=#event-media-suspend>suspend</a></code> at the element.</li>
+     <li><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-media-suspend><a href=#event-media-suspend>suspend</a></code> at the element, using the <a href=#dom-manipulation-task-source>DOM manipulation
+     task source</a>.</li>
 
+     <li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
+
      <li><p>Wait for the task to be run.</li>
 
      <li><p>Wait for an implementation-defined event (e.g. the user requesting that the media
      element begin playback).</li>
 
+     <li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> back to true (this <a href=#delay-the-load-event title="delay the load event">delays the load event</a> again, in case it hasn't been fired
+     yet).</p>
+
      <li><p>Set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>.</li>
 
     </ol></li>
@@ -27440,7 +27455,7 @@
     whether to play the resource or not, while waiting for user input in an interactive resource,
     or when the user navigates away from the page.
     When a <a href=#media-element>media element</a>'s download has been suspended, the user agent must <a href=#queue-a-task>queue
-    a task</a> to set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code> and <a href=#fire-a-simple-event>fire a simple event</a> named
+    a task</a>, using the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>, to set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code> and <a href=#fire-a-simple-event>fire a simple event</a> named
     <code title=event-media-suspend><a href=#event-media-suspend>suspend</a></code> at the element. If and when downloading of the
     resource resumes, the user agent must <a href=#queue-a-task>queue a task</a> to set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>. Between the queuing of these tasks,
     the load is suspended (so <code title=event-media-progress><a href=#event-media-progress>progress</a></code> events don't fire,

Modified: index
===================================================================
--- index	2013-03-08 18:50:20 UTC (rev 7742)
+++ index	2013-03-08 19:47:30 UTC (rev 7743)
@@ -26772,7 +26772,8 @@
 
   <div class=impl>
 
-  <p>Except where otherwise specified, the <a href=#task-source>task source</a> for all the tasks <a href=#queue-a-task title="queue a task">queued</a> in this section and its subsections is the <dfn id=media-element-event-task-source>media element
+<!--CLEANUP-->
+  <p>Except where otherwise explicitly specified, the <a href=#task-source>task source</a> for all the tasks <a href=#queue-a-task title="queue a task">queued</a> in this section and its subsections is the <dfn id=media-element-event-task-source>media element
   event task source</dfn>.</p>
 
   </div>
@@ -27070,9 +27071,10 @@
     element</a>'s <a href=#media-element-event-task-source>media element event task source</a> in one of the <a href=#task-queue title="task
     queue">task queues</a>, then remove those tasks.</p>
 
+<!--CLEANUP-->
     <p>If there are any <a href=#concept-task title=concept-task>tasks</a> that were <a href=#queue-a-task title="queue a
     task">queued</a> by the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
-    algorithm</a> for this same <a href=#media-element>media element</a> from the <a href=#dom-manipulation-task-source>DOM manipulation task
+    algorithm</a> (including the algorithms that it itself invokes) for this same <a href=#media-element>media element</a> from the <a href=#dom-manipulation-task-source>DOM manipulation task
     source</a> in one of the <a href=#task-queue title="task queue">task queues</a>, then remove those
     tasks.</p>
 
@@ -27170,6 +27172,9 @@
 
    <li><p>Set the element's <a href=#show-poster-flag>show poster flag</a> to true.</li>
 
+   <li><p>Set the <a href=#media-element>media element</a>'s <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to true
+   (this <a href=#delay-the-load-event title="delay the load event">delays the load event</a>).</li>
+
    <li><p>Asynchronously <a href=#await-a-stable-state>await a stable state</a>, allowing the <a href=#concept-task title=concept-task>task</a> that invoked this algorithm to continue. The <a href=#synchronous-section>synchronous
    section</a> consists of all the remaining steps of this algorithm until the algorithm says the
    <a href=#synchronous-section>synchronous section</a> has ended. (Steps in <a href=#synchronous-section title="synchronous
@@ -27198,8 +27203,7 @@
 
    </li>
 
-   <li><p>⌛ Set the <a href=#media-element>media element</a>'s <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to
-   true (this <a href=#delay-the-load-event title="delay the load event">delays the load event</a>), and set its <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>.</li>
+   <li><p>⌛ Set the <a href=#media-element>media element</a>'s <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>.</li>
 
    <li><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-media-loadstart><a href=#event-media-loadstart>loadstart</a></code> at the <a href=#media-element>media element</a>.</li>
 
@@ -27230,8 +27234,9 @@
      <li>
 
       <p><i>Failed</i>: Reaching this step indicates that the media resource failed to load or that
-      the given <a href=#url>URL</a> could not be <a href=#resolve-a-url title="resolve a url">resolved</a>. In one
-      atomic operation, run the following steps:</p>
+      the given <a href=#url>URL</a> could not be <a href=#resolve-a-url title="resolve a url">resolved</a>.
+      <a href=#queue-a-task>Queue a task</a> to run the following steps, using the <a href=#dom-manipulation-task-source>DOM manipulation task
+      source</a>:</p>
 
       <ol><li><p>Set the <code title=dom-media-error><a href=#dom-media-error>error</a></code> attribute to a new
        <code><a href=#mediaerror>MediaError</a></code> object whose <code title=dom-MediaError-code><a href=#dom-mediaerror-code>code</a></code> attribute
@@ -27244,13 +27249,16 @@
 
        <li><p>Set the element's <a href=#show-poster-flag>show poster flag</a> to true.</li>
 
+       <li><p><a href=#fire-a-simple-event>fire a simple event</a> named <code title=event-media-error><a href=#event-media-error>error</a></code> at
+       the <a href=#media-element>media element</a>, using the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</li>
+
+       <li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
+
       </ol></li>
 
-     <li><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-media-error><a href=#event-media-error>error</a></code> at the <a href=#media-element>media element</a>, using the <a href=#dom-manipulation-task-source>DOM
-     manipulation task source</a>.</li>
+     <li><p>Wait for the <a href=#concept-task title=concept-task>task</a> queued by the previous step to have
+     executed.</li>
 
-     <li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
-
      <li><p>Abort these steps. Until the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method is
      invoked or the <code title=attr-media-src><a href=#attr-media-src>src</a></code> attribute is changed, the element won't
      attempt to load another resource.</li>
@@ -27321,7 +27329,8 @@
      <var title="">absolute URL</var>. If that algorithm returns without aborting <em>this</em> one,
      then the load failed.</li>
 
-     <li><p><i title="">Failed</i>: <a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a>
+<!--CLEANUP-->
+     <li><p><i title="">Failed</i>: <a href=#queue-a-task>Queue a task</a>, using the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>, to <a href=#fire-a-simple-event>fire a simple event</a>
      named <code title=event-error>error</code> at the <var title="">candidate</var> element, in
      the context of the <a href=#fetch title=fetch>fetching process</a> that was used to try to obtain
      <var title="">candidate</var>'s corresponding <a href=#media-resource>media resource</a> in the <a href=#concept-media-load-resource title=concept-media-load-resource>resource fetch algorithm</a>.</li>
@@ -27394,13 +27403,19 @@
 
     <ol><li><p>Set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code>.</li>
 
-     <li><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-media-suspend><a href=#event-media-suspend>suspend</a></code> at the element.</li>
+     <li><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-media-suspend><a href=#event-media-suspend>suspend</a></code> at the element, using the <a href=#dom-manipulation-task-source>DOM manipulation
+     task source</a>.</li>
 
+     <li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
+
      <li><p>Wait for the task to be run.</li>
 
      <li><p>Wait for an implementation-defined event (e.g. the user requesting that the media
      element begin playback).</li>
 
+     <li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> back to true (this <a href=#delay-the-load-event title="delay the load event">delays the load event</a> again, in case it hasn't been fired
+     yet).</p>
+
      <li><p>Set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>.</li>
 
     </ol></li>
@@ -27440,7 +27455,7 @@
     whether to play the resource or not, while waiting for user input in an interactive resource,
     or when the user navigates away from the page.
     When a <a href=#media-element>media element</a>'s download has been suspended, the user agent must <a href=#queue-a-task>queue
-    a task</a> to set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code> and <a href=#fire-a-simple-event>fire a simple event</a> named
+    a task</a>, using the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>, to set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code> and <a href=#fire-a-simple-event>fire a simple event</a> named
     <code title=event-media-suspend><a href=#event-media-suspend>suspend</a></code> at the element. If and when downloading of the
     resource resumes, the user agent must <a href=#queue-a-task>queue a task</a> to set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>. Between the queuing of these tasks,
     the load is suspended (so <code title=event-media-progress><a href=#event-media-progress>progress</a></code> events don't fire,

Modified: source
===================================================================
--- source	2013-03-08 18:50:20 UTC (rev 7742)
+++ source	2013-03-08 19:47:30 UTC (rev 7743)
@@ -28516,7 +28516,8 @@
 
   <div class="impl">
 
-  <p>Except where otherwise specified, the <span>task source</span> for all the tasks <span
+<!--CLEANUP-->
+  <p>Except where otherwise explicitly specified, the <span>task source</span> for all the tasks <span
   title="queue a task">queued</span> in this section and its subsections is the <dfn>media element
   event task source</dfn>.</p>
 
@@ -28860,9 +28861,10 @@
     element</span>'s <span>media element event task source</span> in one of the <span title="task
     queue">task queues</span>, then remove those tasks.</p>
 
+<!--CLEANUP-->
     <p>If there are any <span title="concept-task">tasks</span> that were <span title="queue a
     task">queued</span> by the <span title="concept-media-load-algorithm">resource selection
-    algorithm</span> for this same <span>media element</span> from the <span>DOM manipulation task
+    algorithm</span> (including the algorithms that it itself invokes) for this same <span>media element</span> from the <span>DOM manipulation task
     source</span> in one of the <span title="task queue">task queues</span>, then remove those
     tasks.</p>
 
@@ -28979,6 +28981,9 @@
 
    <li><p>Set the element's <span>show poster flag</span> to true.</p></li>
 
+   <li><p>Set the <span>media element</span>'s <span>delaying-the-load-event flag</span> to true
+   (this <span title="delay the load event">delays the load event</span>).</p></li>
+
    <li><p>Asynchronously <span>await a stable state</span>, allowing the <span
    title="concept-task">task</span> that invoked this algorithm to continue. The <span>synchronous
    section</span> consists of all the remaining steps of this algorithm until the algorithm says the
@@ -29011,8 +29016,7 @@
 
    </li>
 
-   <li><p>&#x231B; Set the <span>media element</span>'s <span>delaying-the-load-event flag</span> to
-   true (this <span title="delay the load event">delays the load event</span>), and set its <code
+   <li><p>&#x231B; Set the <span>media element</span>'s <code
    title="dom-media-networkState">networkState</code> to <code
    title="dom-media-NETWORK_LOADING">NETWORK_LOADING</code>.</p></li>
 
@@ -29050,8 +29054,9 @@
      <li>
 
       <p><i>Failed</i>: Reaching this step indicates that the media resource failed to load or that
-      the given <span>URL</span> could not be <span title="resolve a url">resolved</span>. In one
-      atomic operation, run the following steps:</p>
+      the given <span>URL</span> could not be <span title="resolve a url">resolved</span>.
+      <span>Queue a task</span> to run the following steps, using the <span>DOM manipulation task
+      source</span>:</p>
 
       <ol>
 
@@ -29067,17 +29072,19 @@
 
        <li><p>Set the element's <span>show poster flag</span> to true.</p></li>
 
+       <li><p><span>fire a simple event</span> named <code title="event-media-error">error</code> at
+       the <span>media element</span>, using the <span>DOM manipulation task source</span>.</p></li>
+
+       <li><p>Set the element's <span>delaying-the-load-event flag</span> to false. This stops <span
+       title="delay the load event">delaying the load event</span>.</p></li>
+
       </ol>
 
      </li>
 
-     <li><p><span>Queue a task</span> to <span>fire a simple event</span> named <code
-     title="event-media-error">error</code> at the <span>media element</span>, using the <span>DOM
-     manipulation task source</span>.</p></li>
+     <li><p>Wait for the <span title="concept-task">task</span> queued by the previous step to have
+     executed.</p></li>
 
-     <li><p>Set the element's <span>delaying-the-load-event flag</span> to false. This stops <span
-     title="delay the load event">delaying the load event</span>.</p></li>
-
      <li><p>Abort these steps. Until the <code title="dom-media-load">load()</code> method is
      invoked or the <code title="attr-media-src">src</code> attribute is changed, the element won't
      attempt to load another resource.</p></li>
@@ -29169,7 +29176,8 @@
      <var title="">absolute URL</var>. If that algorithm returns without aborting <em>this</em> one,
      then the load failed.</p></li>
 
-     <li><p><i title="">Failed</i>: <span>Queue a task</span> to <span>fire a simple event</span>
+<!--CLEANUP-->
+     <li><p><i title="">Failed</i>: <span>Queue a task</span>, using the <span>DOM manipulation task source</span>, to <span>fire a simple event</span>
      named <code title="event-error">error</code> at the <var title="">candidate</var> element, in
      the context of the <span title="fetch">fetching process</span> that was used to try to obtain
      <var title="">candidate</var>'s corresponding <span>media resource</span> in the <span
@@ -29259,13 +29267,21 @@
      title="dom-media-NETWORK_IDLE">NETWORK_IDLE</code>.</p></li>
 
      <li><p><span>Queue a task</span> to <span>fire a simple event</span> named <code
-     title="event-media-suspend">suspend</code> at the element.</p></li>
+     title="event-media-suspend">suspend</code> at the element, using the <span>DOM manipulation
+     task source</span>.</p></li>
 
+     <li><p>Set the element's <span>delaying-the-load-event flag</span> to false. This stops <span
+     title="delay the load event">delaying the load event</span>.</p></li>
+
      <li><p>Wait for the task to be run.</p></li>
 
      <li><p>Wait for an implementation-defined event (e.g. the user requesting that the media
      element begin playback).</p></li>
 
+     <li><p>Set the element's <span>delaying-the-load-event flag</span> back to true (this <span
+     title="delay the load event">delays the load event</span> again, in case it hasn't been fired
+     yet).</p>
+
      <li><p>Set the <code title="dom-media-networkState">networkState</code> to <code
      title="dom-media-NETWORK_LOADING">NETWORK_LOADING</code>.</p></li>
 
@@ -29310,7 +29326,7 @@
     whether to play the resource or not, while waiting for user input in an interactive resource,
     or when the user navigates away from the page.
     When a <span>media element</span>'s download has been suspended, the user agent must <span>queue
-    a task</span> to set the <code title="dom-media-networkState">networkState</code> to <code
+    a task</span>, using the <span>DOM manipulation task source</span>, to set the <code title="dom-media-networkState">networkState</code> to <code
     title="dom-media-NETWORK_IDLE">NETWORK_IDLE</code> and <span>fire a simple event</span> named
     <code title="event-media-suspend">suspend</code> at the element. If and when downloading of the
     resource resumes, the user agent must <span>queue a task</span> to set the <code




More information about the Commit-Watchers mailing list