HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
2848[Gecko] [Webkit] Avoid firing 'canplay' twice if media buffers slowly. Also, what's this about a 'prevous' ready state...?2009-02-22 09:28
@@ -20616,69 +20616,69 @@ interface <dfn>CueRangeCallback</dfn> {
   </dl>
 
   <p>When the ready state of a <span>media element</span> whose <code
   title="dom-media-networkState">networkState</code> is not <code
   title="dom-media-NETWORK_EMPTY">NETWORK_EMPTY</code> changes, the
   user agent must follow the steps given below:</p>
 
   <dl class="switch">
 
    <!-- going up to metadata -->
-   <dt>If the prevous ready state was <code
+   <dt>If the previous ready state was <code
    title="dom-media-HAVE_NOTHING">HAVE_NOTHING</code>, and the new
    ready state is <code
    title="dom-media-HAVE_METADATA">HAVE_METADATA</code></dt>
 
    <dd>
 
     <p class="note">A <code
     title="event-loadedmetadata">loadedmetadata</code> DOM event <a
     href="#fire-loadedmetadata">will be fired</a> as part of the <code
     title="dom-event-load">load()</code> algorithm.</p>
 
    </dd>
 
    <!-- going up to current for the first time -->
 
-   <dt id="handling-first-frame-available">If the prevous ready state
+   <dt id="handling-first-frame-available">If the previous ready state
    was <code title="dom-media-HAVE_METADATA">HAVE_METADATA</code> and
    the new ready state is <code
    title="dom-media-HAVE_CURRENT_DATA">HAVE_CURRENT_DATA</code></dt>
 
    <dd>
 
     <p id="fire-loadeddata">If this is the first time this occurs for
     this <span>media element</span> since the <code
     title="dom-event-load">load()</code> algorithm was last invoked,
     the user agent must <span>queue a task</span> to <span>fire a
     simple event</span> called <code
     title="event-loadeddata">loadeddata</code> at the element.</p>
 
    </dd>
 
    <!-- going down -->
-   <dt>If the prevous ready state was <code
+   <dt>If the previous ready state was <code
    title="dom-media-HAVE_FUTURE_DATA">HAVE_FUTURE_DATA</code> or more,
    and the new ready state is <code
    title="dom-media-HAVE_CURRENT_DATA">HAVE_CURRENT_DATA</code> or
    less</dt>
 
    <dd>
 
     <p class="note">A <code title="event-waiting">waiting</code> DOM
     event <a href="#fire-waiting-when-waiting">can be fired</a>,
     depending on the current state of playback.</p>
 
    </dd>
 
    <!-- going up to future -->
-   <dt>If the prevous ready state was <code
+   <dt>If the previous ready state was <code
    title="dom-media-HAVE_CURRENT_DATA">HAVE_CURRENT_DATA</code> or
    less, and the new ready state is <code
    title="dom-media-HAVE_FUTURE_DATA">HAVE_FUTURE_DATA</code></dt>
 
    <dd>
 
     <p>The user agent must <span>queue a task</span> to <span>fire a
     simple event</span> called <code
     title="event-canplay">canplay</code>.</p>
 
@@ -20688,23 +20688,27 @@ interface <dfn>CueRangeCallback</dfn> {
     title="event-playing">playing</code>.</p>
 
    </dd>
 
    <!-- going up to enough -->
    <dt>If the new ready state is <code
    title="dom-media-HAVE_ENOUGH_DATA">HAVE_ENOUGH_DATA</code></dt>
 
    <dd>
 
-    <p>The user agent must <span>queue a task</span> to <span>fire a
-    simple event</span> called <code
-    title="event-canplay">canplay</code>, and then <span>queue a
+    <p>If the previous ready state was <code
+    title="dom-media-HAVE_CURRENT_DATA">HAVE_CURRENT_DATA</code> or
+    less, the user agent must <span>queue a task</span> to <span>fire
+    a simple event</span> called <code
+    title="event-canplay">canplay</code>.</p>
+
+    <p>In either case, the user agent must then <span>queue a
     task</span> to <span>fire a simple event</span> called <code
     title="event-canplaythrough">canplaythrough</code>.</p>
 
     <p>If the <span>autoplaying flag</span> is true, and the <code
     title="dom-media-paused">paused</code> attribute is true, and the
     <span>media element</span> has an <code
     title="attr-media-autoplay">autoplay</code> attribute specified,
     then the user agent may also set the <code
     title="dom-media-paused">paused</code> attribute to false and
     <span>queue a task</span> to <span>fire a simple event</span>

|