HTML Standard Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/2873

File a bug

SVNBugCommentTime (UTC)
2873[Gecko] [Webkit] video: Use better terminology; make all invokations of the resource selection algorithm async; fix the problem whereby you could get that algorithm running twice on one element; add a missing loop step. (credit: cp)2009-02-26 09:15
Index: source
===================================================================
--- source	(revision 2872)
+++ source	(revision 2873)
@@ -19142,9 +19142,9 @@
   <code>audio</code> element). If the <var title="">src</var> argument
   is present, the object created must have its <code
   title="dom-media-src">src</code> content attribute set to the
-  provided value, and the user agent must invoke the object's <span
-  title="concept-media-load-algorithm">load algorithm</span> before
-  returning.</p>
+  provided value, and the user agent must asynchronously invoke the
+  object's <span title="concept-media-load-algorithm">resource
+  selection algorithm</span> before returning.</p>
 
 
 
@@ -19447,11 +19447,11 @@
   <p>All <span title="media element">media elements</span> have an
   associated error status, which records the last error the element
   encountered since its <span
-  title="concept-media-load-algorithm">load algorithm</span> was last
-  invoked. The <dfn title="dom-media-error"><code>error</code></dfn>
-  attribute, on getting, must return the <code>MediaError</code>
-  object created for this last error, or null if there has not been an
-  error.</p>
+  title="concept-media-load-algorithm">resource selection
+  algorithm</span> was last invoked. The <dfn
+  title="dom-media-error"><code>error</code></dfn> attribute, on
+  getting, must return the <code>MediaError</code> object created for
+  this last error, or null if there has not been an error.</p>
 
   <pre class="idl">interface <dfn>MediaError</dfn> {
   const unsigned short <span title="dom-MediaError-MEDIA_ERR_ABORTED">MEDIA_ERR_ABORTED</span> = 1;
@@ -19507,8 +19507,8 @@
   <p>The <dfn
   title="dom-media-currentSrc"><code>currentSrc</code></dfn> DOM
   attribute is initially the empty string. Its value is changed by the
-  <span title="concept-media-load-algorithm">load algorithm</span>
-  defined below.</p>
+  <span title="concept-media-load-algorithm">resource selection
+  algorithm</span> defined below.</p>
 
   <p class="note">There are two ways to specify a <span>media
   resource</span>, the <code title="attr-media-src">src</code>
@@ -19611,7 +19611,8 @@
 
    <dt><dfn title="dom-media-NETWORK_IDLE"><code>NETWORK_IDLE</code></dfn> (numeric value 1)</dt>
 
-   <dd>The element's <span title="concept-media-load-algorithm">load
+   <dd>The element's <span
+   title="concept-media-load-algorithm">resource selection
    algorithm</span> is active and has selected a resource, but it is
    not actually using the network at this time.</dd>
 
@@ -19627,13 +19628,14 @@
 
    <dt><dfn title="dom-media-NETWORK_NO_SOURCE"><code>NETWORK_NO_SOURCE</code></dfn> (numeric value 4)</dt>
 
-   <dd>The element's <span title="concept-media-load-algorithm">load
+   <dd>The element's <span
+   title="concept-media-load-algorithm">resource selection
    algorithm</span> is active, but it has failed to find a resource to
    use.</dd>
 
   </dl>
 
-  <p>The <span title="concept-media-load-algorithm">load
+  <p>The <span title="concept-media-load-algorithm">resource selection
   algorithm</span> defined below describes exactly when the <code
   title="dom-media-networkState">networkState</code> attribute changes
   value and what events fire to indicate changes in this state.</p>
@@ -19664,8 +19666,8 @@
    steps.</p></li>
 
    <li><p>Abort any already-running instance of the <span
-   title="concept-media-load-algorithm">load algorithm</span> for this
-   element.</p></li>
+   title="concept-media-load-algorithm">resource selection
+   algorithm</span> for this element.</p></li>
 
    <li>
 
@@ -19752,7 +19754,8 @@
    </li>
 
    <li><p>Asynchronously invoke the <span>media element</span>'s <span
-   title="concept-media-load-algorithm">load algorithm</span>.</li>
+   title="concept-media-load-algorithm">resource selection
+   algorithm</span>.</li>
 
    <li>
 
@@ -19763,7 +19766,7 @@
 
   </ol>
 
-  <p>The <dfn title="concept-media-load-algorithm">load
+  <p>The <dfn title="concept-media-load-algorithm">resource selection
   algorithm</dfn> for a <span>media element</span> is as follows. This
   algorithm is always invoked asynchronously, meaning that it runs in
   the background with scripts and other <span
@@ -19771,11 +19774,27 @@
 
   <ol>
 
-   <li><p>While the <span>media element</span> has neither a <code
-   title="attr-media-src">src</code> attribute nor any
-   <code>source</code> element children, wait. (This steps might wait
-   forever.)</p></li>
+   <li>
 
+    <p>If the <span>media element</span> has neither a <code
+    title="attr-media-src">src</code> attribute nor any
+    <code>source</code> element children, run these substeps:</p>
+
+    <ol>
+
+     <li><p>Set the <code
+     title="dom-media-networkState">networkState</code> to <code
+     title="dom-media-NETWORK_NO_SOURCE">NETWORK_NO_SOURCE</code>.</p></li>
+
+     <li><p>While the <span>media element</span> has neither a <code
+     title="attr-media-src">src</code> attribute nor any
+     <code>source</code> element children, wait. (This steps might
+     wait forever.)</p></li>
+
+    </ol>
+
+   </li>
+
    <li><p>Set the element's <span>delaying-the-load-event flag</span>
    to true. This <span title="delay the load event">delays the load
    event</span>.</p></li>
@@ -19801,7 +19820,7 @@
      <span>media element</span>.</p>
 
      <li><p>If that is successful, then run the <span
-     title="concept-media-load-resource">resource-load
+     title="concept-media-load-resource">resource fetch
      algorithm</span> with the resulting <span>absolute URL</span>. If
      that algorithm returns without aborting <em>this</em> one, then
      the load failed.</p></li>
@@ -19958,7 +19977,7 @@
      above.</p></li>
 
      <li><p>Run the <span
-     title="concept-media-load-resource">resource-load
+     title="concept-media-load-resource">resource fetch
      algorithm</span> with the <span>absolute URL</span> that resulted
      from <span title="resolve a url">resolving</span> the
      <span>URL</span> given by the <var title="">candidate</var>
@@ -19998,13 +20017,15 @@
      event">delays the load event</span> again, in case it hasn't gone
      been fired yet.</p></li>
 
+     <li><p>Jump back to the step labeled <i>search loop</i>.</p></li>
+
     </ol>
 
    </li>
 
   </ol>
 
-  <p>The <dfn title="concept-media-load-resource">resource-load
+  <p>The <dfn title="concept-media-load-resource">resource fetch
   algorithm</dfn> for a <span>media element</span> and a given
   <span>absolute URL</span> is as follows:</p>
 
@@ -20105,7 +20126,8 @@
        process.</p></li>
 
        <li><p>Abort this subalgorithm, returning to the <span
-       title="concept-media-load-algorithm">load algorithm</span>.</p>
+       title="concept-media-load-algorithm">resource selection
+       algorithm</span>.</p>
 
       </ol>
 
@@ -20231,7 +20253,7 @@
        event">delaying the load event</span>.</p></li>
 
        <li><p>Abort the overall <span
-       title="concept-media-load-algorithm">load
+       title="concept-media-load-algorithm">resource selection
        algorithm</span>.</p></li>
 
       </ol>
@@ -20275,7 +20297,7 @@
        event">delaying the load event</span>.</p></li>
 
        <li><p>Abort the overall <span
-       title="concept-media-load-algorithm">load
+       title="concept-media-load-algorithm">resource selection
        algorithm</span>.</p></li>
 
       </ol>
@@ -20328,7 +20350,7 @@
        event">delaying the load event</span>.</p></li>
 
        <li><p>Abort the overall <span
-       title="concept-media-load-algorithm">load
+       title="concept-media-load-algorithm">resource selection
        algorithm</span>.</p></li>
 
       </ol>
@@ -20374,7 +20396,7 @@
    element.</p></li>
 
    <li><p>Then, abort the overall <span
-   title="concept-media-load-algorithm">load
+   title="concept-media-load-algorithm">resource selection
    algorithm</span>.</p></li>
 
   </ol>
@@ -20385,7 +20407,8 @@
   title="insert an element into a document">inserted into a
   document</span>, the user agent must asynchronously invoke the
   <span>media element</span>'s <span
-  title="concept-media-load-algorithm">load algorithm</span>.</p>
+  title="concept-media-load-algorithm">resource selection
+  algorithm</span>.</p>
 
   <p>The <dfn
   title="attr-media-autobuffer"><code>autobuffer</code></dfn>
@@ -20946,8 +20969,8 @@
    title="dom-media-networkState">networkState</code> attribute has
    the value <code
    title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code>, then the user
-   agent must invoke the <span>media element</span>'s <span
-   title="concept-media-load-algorithm">load
+   agent must asynchronously invoke the <span>media element</span>'s
+   <span title="concept-media-load-algorithm">resource selection
    algorithm</span>.</p></li>
 
    <li>
@@ -21022,8 +21045,8 @@
    title="dom-media-networkState">networkState</code> attribute has
    the value <code
    title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code>, then the user
-   agent must invoke the <span>media element</span>'s <span
-   title="concept-media-load-algorithm">load
+   agent must asynchronously invoke the <span>media element</span>'s
+   <span title="concept-media-load-algorithm">resource selection
    algorithm</span>.</p></li>
 
    <li><p>If the <span>media element</span>'s <code
@@ -21449,7 +21472,7 @@
     <tr>
      <td><dfn title="event-loadstart"><code>loadstart</code></dfn>
      <td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
-     <td>The user agent begins looking for <span>media data</span>, as part of the <span title="concept-media-load-algorithm">load algorithm</span>.
+     <td>The user agent begins looking for <span>media data</span>, as part of the <span title="concept-media-load-algorithm">resource selection algorithm</span>.
      <td><code title="dom-media-networkState">networkState</code> equals <code title="dom-media-NETWORK_LOADING">NETWORK_LOADING</code>
     <tr>
      <td><dfn title="event-progress"><code>progress</code></dfn>
@@ -21481,7 +21504,7 @@
     <tr>
      <td><dfn title="event-emptied"><code>emptied</code></dfn>
      <td><code>Event</code>
-     <td>A <span>media element</span> whose <code title="dom-media-networkState">networkState</code> was previously not in the <code title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code> state has just switched to that state (either because of a fatal error during load that's about to be reported, or because the <code title="dom-media-load">load()</code> method was invoked while the <span title="concept-media-load-algorithm">load algorithm</span> was already running, in which case it is fired synchronously during the <code title="dom-media-load">load()</code> method call).
+     <td>A <span>media element</span> whose <code title="dom-media-networkState">networkState</code> was previously not in the <code title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code> state has just switched to that state (either because of a fatal error during load that's about to be reported, or because the <code title="dom-media-load">load()</code> method was invoked while the <span title="concept-media-load-algorithm">resource selection algorithm</span> was already running, in which case it is fired synchronously during the <code title="dom-media-load">load()</code> method call).
      <td><code title="dom-media-networkState">networkState</code> is <code title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code>; all the DOM attributes are in their initial states.
     <tr>
      <td><dfn title="event-stalled"><code>stalled</code></dfn>
@@ -65454,23 +65477,23 @@
   Lawson, Bruce Miller, Cameron McCormack, Cao Yipeng, Carlos
   Perell&oacute; Mar&iacute;n, Chao Cai, &#xc724;&#xc11d;&#xcc2c;
   (Channy Yun), Charl van Niekerk, Charles Iliya Krempeaux, Charles
-  McCathieNevile, Christian Biesinger, Christian Johansen, Christian
-  Schmidt, Chriswa, Cole Robison, Colin Fine, Collin Jackson, Daniel
-  Barclay, Daniel Brumbaugh Keeney, Daniel Glazman, Daniel Peng,
-  Daniel Sp&aring;ng, Daniel Steinberg, Danny Sullivan, Darin Adler,
-  Darin Fisher, Dave Camp, Dave Singer, Dave Townsend<!-- Mossop on
-  moz irc -->, David Baron, David Bloom, David Carlisle, David
-  Flanagan, David H&aring;s&auml;ther, David Hyatt, David Smith, David
-  Woolley, Dean Edridge, Debi Orton, Derek Featherstone, DeWitt
-  Clinton, Dimitri Glazkov, dolphinling, Doron Rosenberg, Doug Kramer,
-  Edward O'Connor, Edward Z. Yang, Eira Monstad, Elliotte Harold, Eric
-  Carlson, Eric Law, Erik Arvidsson, Evan Martin, Evan Prodromou,
-  fantasai, Felix Sasaki, Franck 'Shift' Qu&eacute;lain, Garrett
-  Smith, Geoffrey Garen, Geoffrey Sneddon, George Lund, H&aring;kon
-  Wium Lie, Hans S. T&oslash;mmerhalt, Henri Sivonen, Henrik Lied,
-  Henry Mason, Hugh Winkler, Ignacio Javier, Ivo Emanuel
-  Gon&ccedil;alves, J. King, Jacques Distler, James Craig, James
-  Graham, James Justin Harrell, James M Snell, James Perrett,
+  McCathieNevile, Chris Pearce, Christian Biesinger, Christian
+  Johansen, Christian Schmidt, Chriswa, Cole Robison, Colin Fine,
+  Collin Jackson, Daniel Barclay, Daniel Brumbaugh Keeney, Daniel
+  Glazman, Daniel Peng, Daniel Sp&aring;ng, Daniel Steinberg, Danny
+  Sullivan, Darin Adler, Darin Fisher, Dave Camp, Dave Singer, Dave
+  Townsend<!-- Mossop on moz irc -->, David Baron, David Bloom, David
+  Carlisle, David Flanagan, David H&aring;s&auml;ther, David Hyatt,
+  David Smith, David Woolley, Dean Edridge, Debi Orton, Derek
+  Featherstone, DeWitt Clinton, Dimitri Glazkov, dolphinling, Doron
+  Rosenberg, Doug Kramer, Edward O'Connor, Edward Z. Yang, Eira
+  Monstad, Elliotte Harold, Eric Carlson, Eric Law, Erik Arvidsson,
+  Evan Martin, Evan Prodromou, fantasai, Felix Sasaki, Franck 'Shift'
+  Qu&eacute;lain, Garrett Smith, Geoffrey Garen, Geoffrey Sneddon,
+  George Lund, H&aring;kon Wium Lie, Hans S. T&oslash;mmerhalt, Henri
+  Sivonen, Henrik Lied, Henry Mason, Hugh Winkler, Ignacio Javier, Ivo
+  Emanuel Gon&ccedil;alves, J. King, Jacques Distler, James Craig,
+  James Graham, James Justin Harrell, James M Snell, James Perrett,
   Jan-Klaas Kollhof, Jason White, Jasper Bryant-Greene, Jed Hartman,
   Jeff Cutsinger, Jeff Schiller, Jeff Walden, Jens Bannmann, Jens
   Fendler, Jeroen van der Meer, Jim Jewett, Jim Meehan, Joe Clark,

|