HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
2847[Gecko] [Webkit] Define that <video> and <audio> delay the 'load' event.2009-02-22 09:24
@@ -19896,22 +19896,25 @@ interface <dfn>CueRangeCallback</dfn> {
   value and what events fire to indicate changes in this state.</p>
 
   <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>
 
   <p>All <span title="media element">media elements</span> have a
-  <dfn>begun flag</dfn>, which must begin in the false state, and an
-  <dfn>autoplaying flag</dfn>, which must begin in the true state.</p>
+  <dfn>begun flag</dfn>, which must begin in the false state, an
+  <dfn>autoplaying flag</dfn>, which must begin in the true state, and
+  a <dfn>delaying-the-load-event flag</dfn>, which must begin in the
+  false state. While the <span>delaying-the-load-event flag</span> is
+  true, the element must <span>delay the load event</span>.</p>
 
   <p>When the <dfn title="dom-media-load"><code>load()</code></dfn>
   method on a <span>media element</span> is invoked, the user agent
   must run the following steps. Note that this algorithm might get
   aborted, e.g. if the <code title="dom-media-load">load()</code>
   method itself is invoked again.</p>
 
   <ol>
 
    <li>
@@ -19927,20 +19930,24 @@ interface <dfn>CueRangeCallback</dfn> {
     loading a new resource.</p>
 
    </li>
 
    <li><p>Abort any already-running instance of this algorithm for
    this element. If those method calls have not yet returned, they
    must finish the step they are on, and then immediately return. This
    is not blocking; this algorithm must not wait for the earlier
    instances to abort before continuing.</p></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>
+
    <li><p>If the element's <span>begun flag</span> is true, then set
    the <span>begun flag</span> to false, set the <code
    title="dom-media-error">error</code> attribute to a new
    <code>MediaError</code> object whose <code
    title="dom-MediaError-code">code</code> attribute is set to <code
    title="dom-MediaError-MEDIA_ERR_ABORTED">MEDIA_ERR_ABORTED</code>,
    and <span>fire a progress event</span> called <code
    title="event-abort">abort</code> at the <span>media
    element</span>.</p></li>
 
@@ -20181,20 +20188,24 @@ interface <dfn>CueRangeCallback</dfn> {
           particular start time, then <span
           title="dom-media-seek">seek</span> to that time. Ignore any
           resulting exceptions (if the position is out of range, it is
           effectively ignored).</p>
 
           <p class="example">For example, a fragment identifier could be
           used to indicate a start position.</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>
 
         <p class="note">The user agent is <em>required</em> to
         determine the duration of the <span>media resource</span> and
         go through this step before playing.</p> <!-- actually defined
         in the 'duration' section -->
 
        </dd>
 
 
@@ -20224,20 +20235,24 @@ interface <dfn>CueRangeCallback</dfn> {
          element</span>.</li>
 
          <li>Set the element's <code
          title="dom-media-networkState">networkState</code> attribute
          to the <span
          title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</span> value
          and <span>queue a task</span> to <span>fire a simple
          event</span> called <code
          title="event-emptied">emptied</code> at the element.</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>Abort the overall <code
          title="dom-media-load">load()</code> method algorithm.</li>
 
         </ol>
 
        </dd>
 
        <dt id="fatal-decode-error">If the <span>media data</span> is
        corrupted</dt>
 
@@ -20264,20 +20279,24 @@ interface <dfn>CueRangeCallback</dfn> {
          element</span>.</li>
 
          <li>Set the element's <code
          title="dom-media-networkState">networkState</code> attribute
          to the <span
          title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</span> value
          and <span>queue a task</span> to <span>fire a simple
          event</span> called <code
          title="event-emptied">emptied</code> at the element.</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>Abort the overall <code
          title="dom-media-load">load()</code> method algorithm.</li>
 
         </ol>
 
        </dd>
 
        <dt>If the <span>media data</span> fetching process is aborted by
        the user</dt>
 
@@ -20315,20 +20334,24 @@ interface <dfn>CueRangeCallback</dfn> {
          title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</span> value
          and <span>queue a task</span> to <span>fire a simple
          event</span> called <code
          title="event-emptied">emptied</code> at the element. (If the
          <code title="dom-media-readyState">readyState</code>
          attribute has a value greater than <code
          title="dom-media-HAVE_NOTHING">HAVE_NOTHING</code>, then this
          doesn't happen; the available data, if any, will be
          playable.)</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>Abort the overall <code
          title="dom-media-load">load()</code> method algorithm.</li>
 
         </ol>
 
        </dd>
 
        <dt id="non-fatal-media-error">If the <span>media data</span> can
        be fetched but has non-fatal errors or uses, in part, codecs that
        are unsupported, preventing the user agent from rendering the
@@ -20391,20 +20414,24 @@ interface <dfn>CueRangeCallback</dfn> {
      title="event-error">error</code> at the <span>media
      element</span>.</li>
 
      <li>Set the element's <code
      title="dom-media-networkState">networkState</code> attribute to
      the <span title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</span>
      value and <span>queue a task</span> to <span>fire a simple
      event</span> called <code title="event-emptied">emptied</code> at
      the element.</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>
 
   </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

|