HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
4132[Gecko] [Opera] [Webkit] <video> and <audio> never fire 'load' anymore.2009-10-14 10:00
@@ -23312,22 +23312,21 @@ interface <dfn>HTMLAudioElement</dfn> : <span>HTMLMediaElement</span> {};</pre>
 
   // error state
   readonly attribute <span>MediaError</span> <span title="dom-media-error">error</span>;
 
   // network state
            attribute DOMString <span title="dom-media-src">src</span>;
   readonly attribute DOMString <span title="dom-media-currentSrc">currentSrc</span>;
   const unsigned short <span title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</span> = 0;
   const unsigned short <span title="dom-media-NETWORK_IDLE">NETWORK_IDLE</span> = 1;
   const unsigned short <span title="dom-media-NETWORK_LOADING">NETWORK_LOADING</span> = 2;
-  const unsigned short <span title="dom-media-NETWORK_LOADED">NETWORK_LOADED</span> = 3;
-  const unsigned short <span title="dom-media-NETWORK_NO_SOURCE">NETWORK_NO_SOURCE</span> = 4;
+  const unsigned short <span title="dom-media-NETWORK_NO_SOURCE">NETWORK_NO_SOURCE</span> = 3;
   readonly attribute unsigned short <span title="dom-media-networkState">networkState</span>;
            attribute boolean <span title="dom-media-autobuffer">autobuffer</span>;
 <!--v3BUF  readonly attribute float <span title="dom-media-bufferingRate">bufferingRate</span>;
   readonly attribute boolean <span title="dom-media-bufferingThrottled">bufferingThrottled</span>;
 -->  readonly attribute <span>TimeRanges</span> <span title="dom-media-buffered">buffered</span>;
   void <span title="dom-media-load">load</span>();
   DOMString <span title="dom-navigator-canPlayType">canPlayType</span>(in DOMString type);
 
   // ready state
   const unsigned short <span title="dom-media-HAVE_NOTHING">HAVE_NOTHING</span> = 0;
@@ -23721,48 +23720,38 @@ interface <dfn>CueRangeCallback</dfn> {
    <dd>The element<span class="impl">'s <span
    title="concept-media-load-algorithm">resource selection
    algorithm</span> is active and</span> has selected a <span
    title="media resource">resource</span>, but it is not actually
    using the network at this time.</dd>
 
    <dt><dfn title="dom-media-NETWORK_LOADING"><code>NETWORK_LOADING</code></dfn> (numeric value 2)</dt>
 
    <dd>The user agent is actively trying to download data.</dd>
 
-   <dt><dfn title="dom-media-NETWORK_LOADED"><code>NETWORK_LOADED</code></dfn> (numeric value 3)</dt>
-
-   <dd>The entire <span>media resource</span> has been obtained and is
-   available to the user agent locally. Network connectivity could be
-   lost without affecting the media playback.</dd>
-
-   <dt><dfn title="dom-media-NETWORK_NO_SOURCE"><code>NETWORK_NO_SOURCE</code></dfn> (numeric value 4)</dt>
+   <dt><dfn title="dom-media-NETWORK_NO_SOURCE"><code>NETWORK_NO_SOURCE</code></dfn> (numeric value 3)</dt>
 
    <dd>The element<span class="impl">'s <span
    title="concept-media-load-algorithm">resource selection
    algorithm</span> is active, but it</span> has failed to find a
    <span title="media resource">resource</span> to use.</dd>
 
   </dl>
 
   <div class="impl">
 
   <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>
 
   </div>
 
-  <p class="note">Some resources, e.g. streaming Web radio, can never
-  reach the <code
-  title="dom-media-NETWORK_LOADED">NETWORK_LOADED</code> state.</p>
-
 
 
 
   <h5>Loading the media resource</h5>
 
   <dl class="domintro">
 
    <dt><var title="">media</var> . <code title="dom-media-load">load</code>()</dt>
 
    <dd>
@@ -24018,21 +24007,22 @@ interface <dfn>CueRangeCallback</dfn> {
      title="fetch">fetching process</span> that was used to try to
      obtain the <span>media resource</span> in the <span
      title="concept-media-load-resource">resource fetch
      algorithm</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>Abort these steps. Until the <code
-     title="dom-media-load">load()</code> method is invoked, the
+     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>
      <!-- it took its ball and went home, sulking. -->
 
     </ol>
 
     <p>Otherwise, the <code>source</code> elements will be used; run
     these substeps:</p>
 
     <ol>
 
@@ -24667,38 +24657,23 @@ interface <dfn>CueRangeCallback</dfn> {
     even once the <span title="ended playback">playback has
     ended</span>, because there is always the chance the user will
     seek back to the start. In fact, in this situation, once <span
     title="ended playback">playback has ended</span>, the user agent
     will end up dispatching a <code
     title="event-media-stalled">stalled</code> event, as described
     earlier.</p>
 
    </li>
 
-   <li><p>Set the <code
-   title="dom-media-networkState">networkState</code> attribute to
-   <code
-   title="dom-media-NETWORK_LOADED">NETWORK_LOADED</code>.</p></li>
-
-   <li><p><span>Queue a task</span> to <span>fire a progress
-   event</span> named <code title="event-media-load">load</code> at the
-   <span>media element</span>, in the context of the <span
-   title="fetch">fetching process</span> started by this instance of
-   this algorithm.</p></li>
-
-   <li><p><span>Queue a task</span> to <span>fire a progress
-   event</span> named <code title="event-media-loadend">loadend</code> at
-   the <span>media element</span>, in the context of the <span
-   title="fetch">fetching process</span> started by this instance of
-   this algorithm.</p></li>
-
-   <li><p>Finally, abort the overall <span
+   <li><p>If the user agent ever reaches this step (which can only
+   happen if the entire resource gets loaded and kept available):
+   abort the overall <span
    title="concept-media-load-algorithm">resource selection
    algorithm</span>.</p></li>
 
   </ol>
 
   <p>If a <span>media element</span> whose <code
   title="dom-media-networkState">networkState</code> has the value
   <code title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code> is <span
   title="insert an element into a document">inserted into a
   document</span>, the user agent must invoke the <span>media
@@ -26177,41 +26152,36 @@ interface <dfn>CueRangeCallback</dfn> {
      <td><dfn title="event-media-progress"><code>progress</code></dfn>
      <td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
      <td>The user agent is fetching <span>media data</span>.
      <td><code title="dom-media-networkState">networkState</code> equals <code title="dom-media-NETWORK_LOADING">NETWORK_LOADING</code>
     <tr>
      <td><dfn title="event-media-suspend"><code>suspend</code></dfn>
      <td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
      <td>The user agent is intentionally not currently fetching <span>media data</span>, but does not have the entire <span>media resource</span> downloaded.
      <td><code title="dom-media-networkState">networkState</code> equals <code title="dom-media-NETWORK_IDLE">NETWORK_IDLE</code>
     <tr>
-     <td><dfn title="event-media-load"><code>load</code></dfn>
-     <td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
-     <td>The user agent finishes fetching the entire <span>media resource</span>.
-     <td><code title="dom-media-networkState">networkState</code> equals <code title="dom-media-NETWORK_LOADED">NETWORK_LOADED</code>
-    <tr>
      <td><dfn title="event-media-abort"><code>abort</code></dfn>
      <td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
      <td>The user agent stops fetching the <span>media data</span> before it is completely downloaded, but not due to an error.
      <td><code title="dom-media-error">error</code> is an object with the code <code title="dom-MediaError-MEDIA_ERR_ABORTED">MEDIA_ERR_ABORTED</code>.
          <code title="dom-media-networkState">networkState</code> equals either <code title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code> or <code title="dom-media-NETWORK_IDLE">NETWORK_IDLE</code>, depending on when the download was aborted.
     <tr>
      <td><dfn title="event-media-error"><code>error</code></dfn>
      <td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
      <td>An error occurs while fetching the <span>media data</span>.
      <td><code title="dom-media-error">error</code> is an object with the code <code title="dom-MediaError-MEDIA_ERR_NETWORK">MEDIA_ERR_NETWORK</code> or higher.
-         <code title="dom-media-networkState">networkState</code> equals either <code title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code> or <code title="dom-media-NETWORK_LOADED">NETWORK_LOADED</code>, depending on when the download was aborted.
+         <code title="dom-media-networkState">networkState</code> equals either <code title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code> or <code title="dom-media-NETWORK_IDLE">NETWORK_IDLE</code>, depending on when the download was aborted.
     <tr>
      <td><dfn title="event-media-loadend"><code>loadend</code></dfn>
      <td><code>ProgressEvent</code> <a href="#refsPROGRESS">[PROGRESS]</a>
      <td>The user agent stops fetching the <span>media data</span>, for whatever reason.
-     <td>One of <code title="event-media-load">load</code>, <code title="event-media-abort">abort</code>, or <code title="event-media-error">error</code> has just fired.
+     <td>One of <code title="event-media-abort">abort</code> or <code title="event-media-error">error</code> has just fired.
     <tr>
      <td><dfn title="event-media-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">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 IDL attributes are in their initial states.
     <tr>
      <td><dfn title="event-media-stalled"><code>stalled</code></dfn>
      <td><code>ProgressEvent</code>
      <td>The user agent is trying to fetch <span>media data</span>, but data is unexpectedly not forthcoming.
      <td><code title="dom-media-networkState">networkState</code> is <code title="dom-media-NETWORK_LOADING">NETWORK_LOADING</code>.

|