[html5] r1078 - /

whatwg at whatwg.org whatwg at whatwg.org
Thu Oct 18 21:48:07 PDT 2007


Author: ianh
Date: 2007-10-18 21:48:05 -0700 (Thu, 18 Oct 2007)
New Revision: 1078

Modified:
   index
   source
Log:
[gw] (2) A number of changes based on Apple feedback. Typos; clarifications; corrections to contradictions; allow effective start to be based on media data.

Modified: index
===================================================================
--- index	2007-10-19 02:01:53 UTC (rev 1077)
+++ index	2007-10-19 04:48:05 UTC (rev 1078)
@@ -2533,7 +2533,7 @@
   <a href="#htmldocument">HTMLDocument</a> <a href="#open" title=dom-document-open>open</a>(in DOMString type);
   <a href="#htmldocument">HTMLDocument</a> <a href="#open" title=dom-document-open>open</a>(in DOMString type, in DOMString replace);
   <a href="#window">Window</a> <a href="#open" title=dom-document-open>open</a>(in DOMString url, in DOMString name, in DOMString features);
-  <a href="#window">Window</a> <a href="#open" title=dom-document-open>open</a>(in DOMString url, in DOMString name, in DOMString features, in bool replace);
+  <a href="#window">Window</a> <a href="#open" title=dom-document-open>open</a>(in DOMString url, in DOMString name, in DOMString features, in boolean replace);
   void <a href="#close" title=dom-document-close>close</a>();
   void <a href="#document.write" title=dom-document-write>write</a>(in DOMString text);
   void <a href="#document.writeln" title=dom-document-writeln>writeln</a>(in DOMString text);
@@ -13347,9 +13347,10 @@
    must return the native width of the video in CSS pixels. The <dfn
    id=videoheight title=dom-video-videoHeight><code>videoHeight</code></dfn>
    DOM attribute must return the native height of the video in CSS pixels. In
-   the absence of resolution information, user agents may assume that one
-   pixel in the video corresponds to one CSS pixel. If no video data is
-   available, then the attributes must return 0.
+   the absence of resolution information defining the mapping of pixels in
+   the video to physical dimensions, user agents may assume that one pixel in
+   the video corresponds to one CSS pixel. If no video data is available,
+   then the attributes must return 0.
 
   <p>When no video data is available (the element's <code
    title=dom-media-networkState><a
@@ -13381,8 +13382,8 @@
 
   <p>When a <code><a href="#video1">video</a></code> element is neither <a
    href="#actively">actively playing</a> nor <a href="#paused"
-   title=dom-media-paused>paused</a>, the element represents the last frame
-   of the video to have been rendered.
+   title=dom-media-paused>paused</a> (e.g. when seeking or stalled), the
+   element represents the last frame of the video to have been rendered.
 
   <p class=note>Which frame in a video stream corresponds to a particular
    playback position is defined by the video stream's format.
@@ -13592,7 +13593,7 @@
   // playback state
            attribute float <a href="#currenttime" title=dom-media-currentTime>currentTime</a>;
   readonly attribute float <a href="#duration" title=dom-media-duration>duration</a>;
-  readonly attribute unsigned short <a href="#paused" title=dom-media-paused>paused</a>;
+  readonly attribute boolean <a href="#paused" title=dom-media-paused>paused</a>;
            attribute float <a href="#defaultplaybackrate" title=dom-media-defaultPlaybackRate>defaultPlaybackRate</a>;
            attribute float <a href="#playbackrate" title=dom-media-playbackRate>playbackRate</a>;
   readonly attribute <a href="#timeranges">TimeRanges</a> <a href="#played" title=dom-media-played>played</a>;
@@ -13611,7 +13612,7 @@
            attribute unsigned long <a href="#currentloop" title=dom-media-currentLoop>currentLoop</a>;
 
   // cue points
-  void <a href="#addcuepoint" title=dom-media-addCuePoint>addCuePoint</a>(in float time, in <a href="#voidcallback">VoidCallback</a> callback, in bool pause);
+  void <a href="#addcuepoint" title=dom-media-addCuePoint>addCuePoint</a>(in float time, in <a href="#voidcallback">VoidCallback</a> callback, in boolean pause);
   void <a href="#removecuepoint" title=dom-media-removeCuePoint>removeCuePoint</a>(in float time, in <a href="#voidcallback">VoidCallback</a> callback);
 
   // controls
@@ -13811,6 +13812,12 @@
      the one that was found before jumping to this step.
   </ol>
 
+  <p class=note>A <code><a href="#source">source</a></code> element with no
+   <code title=attr-source-src><a href="#src7">src</a></code> attribute is
+   assumed to be the last <code><a href="#source">source</a></code> element
+   — any <code><a href="#source">source</a></code> elements after it
+   are ignored (and are invalid).
+
   <p>The <dfn id=currentsrc
    title=dom-media-currentSrc><code>currentSrc</code></dfn> DOM attribute
    must return the empty string if the <a href="#media5">media element</a>'s
@@ -13908,10 +13915,10 @@
 
    <li>
     <p>The <code title=dom-media-error><a href="#error0">error</a></code>
-     attribute must be set to null, and the <a
-     href="#loaded-first-frame">loaded-first-frame flag</a> and
-     <span>loaded-enough-to-play-through flag</span> must be both set to
-     false.
+     attribute must be set to null, the <a
+     href="#loaded-first-frame">loaded-first-frame flag</a> must be set to
+     false, and the <a href="#autoplaying">autoplaying flag</a> must be set
+     to true.
 
    <li>
     <p>The <code title=dom-media-playbackRate><a
@@ -14143,7 +14150,12 @@
         switched to the <a href="#empty" title=dom-media-EMPTY>EMPTY</a>
         value and the user agent must <a href="#firing2">fire a simple
         event</a> called <code title=event-emptied><a
-        href="#emptied">emptied</a></code> at the element.
+        href="#emptied">emptied</a></code> at the element. (If the <code
+        title=dom-media-networkState><a
+        href="#networkstate">networkState</a></code> attribute has a value
+        greater than <code title=dom-media-LOADING><a
+        href="#loading0">LOADING</a></code>, then this doesn't happen; the
+        available data, if any, will be playable.)
 
        <li>These steps must be aborted.
       </ol>
@@ -14203,8 +14215,8 @@
 
      <dt id=handling-first-frame-available>Once enough of the <a
       href="#media7">media data</a> has been downloaded to enable the user
-      agent to display the first frame of the <a href="#media8">media
-      resource</a>
+      agent to display the frame at the <a href="#effective">effective
+      start</a> of the <a href="#media8">media resource</a>
 
      <dd>
       <p>The user agent must follow these substeps:</p>
@@ -14245,9 +14257,11 @@
 
    <li>
     <p>If the download completes without errors, the <a href="#begun">begun
-     flag</a> must be set to false and the user agent must <a
-     href="#firing6">fire a progress event</a> called <code
-     title=event-load><a href="#load0">load</a></code> at the element.
+     flag</a> must be set to false, the <code title=dom-media-networkState><a
+     href="#networkstate">networkState</a></code> attribute must be set to
+     <code title=dom-media-LOADED><a href="#loaded">LOADED</a></code>, and
+     the user agent must <a href="#firing6">fire a progress event</a> called
+     <code title=event-load><a href="#load0">load</a></code> at the element.
   </ol>
 
   <p>If a <a href="#media5">media element</a> whose <code
@@ -14316,11 +14330,16 @@
    title=dom-media-currentTime><code>currentTime</code></dfn> attribute must,
    on getting, return the <a href="#current">current playback position</a>,
    expressed in seconds. On setting, the user agent must <a href="#seek"
-   title=dom-media-seek>seek</a> to the new value.
+   title=dom-media-seek>seek</a> to the new value (which might raise an
+   exception).
 
   <p>The <dfn id=start2 title=attr-media-start><code>start</code></dfn>
    content attribute gives the offset into the <a href="#media8">media
-   resource</a> at which playback is to begin. The default value is 0.
+   resource</a> at which playback is to begin. The default value is the
+   default start position of the <a href="#media8">media resource</a>, or 0
+   if not enough <a href="#media7">media data</a> has been obtained yet to
+   determine the default start position or if the resource doesn't specify a
+   default start position.
 
   <p>The <dfn id=effective><var>effective start</var></dfn> is the smaller of
    the <code title=dom-media-start><a href="#start3">start</a></code> DOM
@@ -14357,7 +14376,8 @@
    href="#start3">start</a></code>, <code title=dom-media-loopStart><a
    href="#loopstart0">loopStart</a></code>, and <code
    title=dom-media-loopEnd><a href="#loopend0">loopEnd</a></code> DOM
-   attributes, and the end of the <a href="#media8">media resource</a>.
+   attributes, except if that is greater than the end of the <a
+   href="#media8">media resource</a>, in which case that's its value.
 
   <p>
 
@@ -14369,7 +14389,8 @@
    the <code title=dom-media-start><a href="#start3">start</a></code>, <code
    title=dom-media-loopStart><a href="#loopstart0">loopStart</a></code>, and
    <code title=dom-media-loopEnd><a href="#loopend0">end</a></code> DOM
-   attributes, and the end of the <a href="#media8">media resource</a>.
+   attributes, except if that is greater than the end of the <a
+   href="#media8">media resource</a>, in which case that's its value.
 
   <p>
 
@@ -14464,8 +14485,8 @@
      href="#effective1">effective loop end</a></var>, the user agent must <a
      href="#seek" title=dom-media-seek>seek</a> to the <var><a
      href="#effective0">effective loop start</a></var>, and increase <code
-     title=dom-media-loopCount><a href="#loopcount0">loopCount</a></code> by
-     1.
+     title=dom-media-currentLoop><a
+     href="#currentloop">currentLoop</a></code> by 1.
 
    <li>
     <p>If the <code title=dom-media-currentLoop><a
@@ -14607,6 +14628,25 @@
      title=event-play><a href="#play0">play</a></code>.
   </dl>
 
+  <p class=note>It is possible for the ready state of a media element to jump
+   between these states discontinuously. For example, the state of a media
+   element whose <span>leaded-first-frame flag</span> is false can jump
+   straight from <code title=dom-media-DATA_UNAVAILABLE><a
+   href="#dataunavailable">DATA_UNAVAILABLE</a></code> to <code
+   title=dom-media-CAN_PLAY_THROUGH><a
+   href="#canplaythrough">CAN_PLAY_THROUGH</a></code> without passing through
+   the <code title=dom-media-CAN_SHOW_CURRENT_FRAME><a
+   href="#canshowcurrentframe">CAN_SHOW_CURRENT_FRAME</a></code> and <code
+   title=dom-media-CAN_PLAY><a href="#canplay">CAN_PLAY</a></code> states,
+   and thus without firing the <code title=event-canshowcurrentframe><a
+   href="#canshowcurrentframe0">canshowcurrentframe</a></code> and <code
+   title=event-canplay><a href="#canplay0">canplay</a></code> events. The
+   only state that is guarenteed to be reached is the <code
+   title=dom-media-CAN_SHOW_CURRENT_FRAME><a
+   href="#canshowcurrentframe">CAN_SHOW_CURRENT_FRAME</a></code> state, which
+   is reached as part of the <code title=dom-media-load><a
+   href="#load">load()</a></code> method's processing.
+
   <p>The <dfn id=readystate
    title=dom-media-readyState><code>readyState</code></dfn> DOM attribute
    must, on getting, return the value described above that describes the
@@ -14736,8 +14776,8 @@
    href="#effective1">effective loop end</a></var>, then the user agent must
    <a href="#seek" title=dom-media-seek>seek</a> to the <var><a
    href="#effective0">effective loop start</a></var>, increase <code
-   title=dom-media-loopCount><a href="#loopcount0">loopCount</a></code> by 1,
-   and <a href="#firing2">fire a simple event</a> called <code
+   title=dom-media-currentLoop><a href="#currentloop">currentLoop</a></code>
+   by 1, and <a href="#firing2">fire a simple event</a> called <code
    title=event-timeupdate><a href="#timeupdate">timeupdate</a></code>.
 
   <p>When <code title=dom-media-currentLoop><a
@@ -14753,8 +14793,8 @@
     <p>The user agent must stop playback.
 
    <li>
-    <p>The <code title=dom-media-ended><a href="#ended0">ended</a></code>
-     attribute becomes true, as described below.
+    <p class=note>The <code title=dom-media-ended><a
+     href="#ended0">ended</a></code> attribute becomes true.
 
    <li>
     <p>The user agent must <a href="#firing2">fire a simple event</a> called
@@ -14808,8 +14848,8 @@
      title=dom-media-networkState><a
      href="#networkstate">networkState</a></code> attribute has the value <a
      href="#empty" title=dom-media-EMPTY>EMPTY</a>, then the user agent must
-     synchronously invoke the <code title=dom-media-load><a
-     href="#load">load()</a></code> method. If that raises an exception, that
+     invoke the <code title=dom-media-load><a href="#load">load()</a></code>
+     method and wait for it to return. If that raises an exception, that
      exception must be reraised by the <code title=dom-media-play><a
      href="#play">play()</a></code> method.
 
@@ -14866,8 +14906,8 @@
      title=dom-media-networkState><a
      href="#networkstate">networkState</a></code> attribute has the value <a
      href="#empty" title=dom-media-EMPTY>EMPTY</a>, then the user agent must
-     sychronously invoke the <code title=dom-media-load><a
-     href="#load">load()</a></code> method. If that raises an exception, that
+     invoke the <code title=dom-media-load><a href="#load">load()</a></code>
+     method and wait for it to return. If that raises an exception, that
      exception must be reraised by the <code title=dom-media-play><a
      href="#play">pause()</a></code> method.
 
@@ -14992,11 +15032,13 @@
    attribute).
 
   <p class=note>If the user agent can seek to anywhere in the <a
-   href="#media8">media resource</a>, e.g. because the user agent and the
-   server support HTTP Range requests, then the attribute would return an
-   object with one range, whose start is 0, and whose end is the same as the
-   <code title=dom-media-duration><a href="#duration">duration</a></code>
-   attribute's value.
+   href="#media8">media resource</a>, e.g. because it a simple movie file and
+   the user agent and the server support HTTP Range requests, then the
+   attribute would return an object with one range, whose start is the time
+   of the first frame (typically zero), and whose end is the same as the time
+   of the first frame plus the <code title=dom-media-duration><a
+   href="#duration">duration</a></code> attribute's value (which would equal
+   the time of the last frame).
 
   <h5 id=cue-points><span class=secno>3.14.9.9. </span>Cue points</h5>
 
@@ -15168,6 +15210,10 @@
    end of the <var title="">index</var>th range represented by the object, in
    seconds measured from the start of the timeline that the object covers.
 
+  <p>These methods must raise <code>INDEX_SIZE_ERR</code> exceptions if
+   called with an <var title="">index</var> argument greater than or equal to
+   the number of ranges represented by the object.
+
   <p>When a <code><a href="#timeranges">TimeRanges</a></code> object is said
    to be a <dfn id=normalised>normalised <code>TimeRanges</code>
    object</dfn>, the ranges it represents must obey the following criteria:
@@ -15439,7 +15485,8 @@
 
      <td>The <code title=dom-media-readyState><a
       href="#readystate">readyState</a></code> attribute is newly equal to
-      <code title=CAN_SHOW_CURRENT_FRAME>CAN_SHOW_CURRENT_FRAME</code>.
+      <code title=dom-media-CAN_SHOW_CURRENT_FRAME><a
+      href="#canshowcurrentframe">CAN_SHOW_CURRENT_FRAME</a></code>.
 
     <tr>
      <td><dfn id=canplay0 title=event-canplay><code>canplay</code></dfn>
@@ -15454,7 +15501,7 @@
 
      <td>The <code title=dom-media-readyState><a
       href="#readystate">readyState</a></code> attribute is newly equal to
-      <code title=CAN_PLAY>CAN_PLAY</code>.
+      <code title=dom-media-CAN_PLAY><a href="#canplay">CAN_PLAY</a></code>.
 
     <tr>
      <td><dfn id=canplaythrough0
@@ -15469,7 +15516,8 @@
 
      <td>The <code title=dom-media-readyState><a
       href="#readystate">readyState</a></code> attribute is newly equal to
-      <code title=CAN_PLAY_THROUGH>CAN_PLAY_THROUGH</code>.
+      <code title=dom-media-CAN_PLAY_THROUGH><a
+      href="#canplaythrough">CAN_PLAY_THROUGH</a></code>.
 
     <tr>
      <td><dfn id=ratechange
@@ -30337,7 +30385,7 @@
 };
 
 interface <dfn id=versionchangecallback>VersionChangeCallback</dfn> {
-  void <span title=dom-versionchangecallback-handleEvent>handleEvent</span>(in bool versionChanged);
+  void <span title=dom-versionchangecallback-handleEvent>handleEvent</span>(in boolean versionChanged);
 };
 
 interface <dfn id=sqlcallback>SQLCallback</dfn> {
@@ -44898,28 +44946,28 @@
 
   <p>Thanks to Aankhen, Aaron Boodman, Aaron Leventhal, Adam Roben, Adrian
    Sutton, Agustín Fernández, Alexey Feldgendler, Andrew Gove,
-   Andrew Sidwell, Anne van Kesteren, Anthony Hickson, Asbjørn
-   Ulsberg, Ben Godfrey, Ben Meadowcroft, Benjamin Hawkes-Lewis, Bert Bos,
-   Bjoern Hoehrmann, Boris Zbarsky, Brad Fults, Brad Neuberg, Brady Eidson,
-   Brendan Eich, Brett Wilson, Brian Campbell, Carlos Perelló
-   Marín, Chao Cai, &#xc724;&#xc11d;&#xcc2c; (Channy Yun), Charl van
-   Niekerk<!--status.whatwg.org maintainer-->, Charles Iliya Krempeaux,
-   Charles McCathieNevile, Christian Biesinger, Christian Johansen, Chriswa,
-   Daniel Peng, Daniel Spång, Darin Alder, Darin Fisher, Dave Singer,
-   Dave Townsend<!-- Mossop on moz irc -->, David Baron, David Flanagan,
-   David Håsäther, David Hyatt, Derek Featherstone, Dimitri
-   Glazkov, dolphinling, Doron Rosenberg, Eira Monstad, Elliotte Harold, Erik
-   Arvidsson, Evan Martin, fantasai, Franck 'Shift' Quélain, Geoffrey
-   Sneddon, Håkon Wium Lie, Henri Sivonen, Henrik Lied, Ignacio Javier,
-   J. King, James Graham, James M Snell, James Perrett, Jan-Klaas Kollhof,
-   Jasper Bryant-Greene, Jeff Cutsinger, Jeff Walden, Jens Bannmann, Jeroen
-   van der Meer, Joel Spolsky, John Boyer, John Harding, Johnny Stenback, Jon
-   Perlow, Jonathan Worent, Jorgen Horstink, Josh Levenberg, Joshua Randall,
-   Jukka K. Korpela, Kai Hendry, <!-- Keryx
-  Web, = Lars Gunther --> Kornel
-   Lesinski, &#x9ed2;&#x6fa4;&#x525b;&#x5fd7; (KUROSAWA Takeshi), Kristof
-   Zelechovski, Lachlan Hunt, Larry Page, Lars Gunther, Laurens Holst, Lenny
-   Domnitser, Léonard Bouchet, Leons Petrazickis,
+   Andrew Sidwell, Anne van Kesteren, Anthony Hickson, Antti Koivisto,
+   Asbjørn Ulsberg, Ben Godfrey, Ben Meadowcroft, Benjamin
+   Hawkes-Lewis, Bert Bos, Bjoern Hoehrmann, Boris Zbarsky, Brad Fults, Brad
+   Neuberg, Brady Eidson, Brendan Eich, Brett Wilson, Brian Campbell, Carlos
+   Perelló Marín, Chao Cai, &#xc724;&#xc11d;&#xcc2c; (Channy
+   Yun), Charl van Niekerk<!--status.whatwg.org maintainer-->, Charles Iliya
+   Krempeaux, Charles McCathieNevile, Christian Biesinger, Christian
+   Johansen, Chriswa, Daniel Peng, Daniel Spång, Darin Alder, Darin
+   Fisher, Dave Singer, Dave Townsend<!-- Mossop on moz irc -->, David Baron,
+   David Flanagan, David Håsäther, David Hyatt, Derek
+   Featherstone, Dimitri Glazkov, dolphinling, Doron Rosenberg, Eira Monstad,
+   Elliotte Harold, Erik Arvidsson, Evan Martin, fantasai, Franck 'Shift'
+   Quélain, Geoffrey Sneddon, Håkon Wium Lie, Henri Sivonen,
+   Henrik Lied, Ignacio Javier, J. King, James Graham, James M Snell, James
+   Perrett, Jan-Klaas Kollhof, Jasper Bryant-Greene, Jeff Cutsinger, Jeff
+   Walden, Jens Bannmann, Jeroen van der Meer, Joel Spolsky, John Boyer, John
+   Harding, Johnny Stenback, Jon Perlow, Jonathan Worent, Jorgen Horstink,
+   Josh Levenberg, Joshua Randall, Jukka K. Korpela, Kai Hendry, <!-- Keryx
+  Web, = Lars Gunther -->
+   Kornel Lesinski, &#x9ed2;&#x6fa4;&#x525b;&#x5fd7; (KUROSAWA Takeshi),
+   Kristof Zelechovski, Lachlan Hunt, Larry Page, Lars Gunther, Laurens
+   Holst, Lenny Domnitser, Léonard Bouchet, Leons Petrazickis,
    Logan<!-- on moz irc -->, Loune, Maciej Stachowiak, Malcolm Rowe, Mark
    Nottingham, Mark Rowe<!--bdash-->, Mark Schenk, Martijn Wargers, Martin
    Atkins, Martin Honnen, Mathieu Henri, Matthew Mastracci, Matthew Raymond,

Modified: source
===================================================================
--- source	2007-10-19 02:01:53 UTC (rev 1077)
+++ source	2007-10-19 04:48:05 UTC (rev 1078)
@@ -948,7 +948,7 @@
   <span>HTMLDocument</span> <span title="dom-document-open">open</span>(in DOMString type);
   <span>HTMLDocument</span> <span title="dom-document-open">open</span>(in DOMString type, in DOMString replace);
   <span>Window</span> <span title="dom-document-open">open</span>(in DOMString url, in DOMString name, in DOMString features);
-  <span>Window</span> <span title="dom-document-open">open</span>(in DOMString url, in DOMString name, in DOMString features, in bool replace);
+  <span>Window</span> <span title="dom-document-open">open</span>(in DOMString url, in DOMString name, in DOMString features, in boolean replace);
   void <span title="dom-document-close">close</span>();
   void <span title="dom-document-write">write</span>(in DOMString text);
   void <span title="dom-document-writeln">writeln</span>(in DOMString text);
@@ -11231,9 +11231,11 @@
   pixels. The <dfn
   title="dom-video-videoHeight"><code>videoHeight</code></dfn> DOM
   attribute must return the native height of the video in CSS
-  pixels. In the absence of resolution information, user agents may
-  assume that one pixel in the video corresponds to one CSS pixel. If
-  no video data is available, then the attributes must return 0.</p>
+  pixels. In the absence of resolution information defining the
+  mapping of pixels in the video to physical dimensions, user agents
+  may assume that one pixel in the video corresponds to one CSS
+  pixel. If no video data is available, then the attributes must
+  return 0.</p>
 
   <p>When no video data is available (the element's <code
   title="dom-media-networkState">networkState</code> attribute is
@@ -11262,9 +11264,9 @@
   last rendered frame of video.</p>
 
   <p>When a <code>video</code> element is neither <span>actively
-  playing</span> nor <span title="dom-media-paused">paused</span>, the
-  element represents the last frame of the video to have been
-  rendered.</p>
+  playing</span> nor <span title="dom-media-paused">paused</span>
+  (e.g. when seeking or stalled), the element represents the last
+  frame of the video to have been rendered.</p>
 
   <p class="note">Which frame in a video stream corresponds to a
   particular playback position is defined by the video stream's
@@ -11469,7 +11471,7 @@
   // playback state
            attribute float <span title="dom-media-currentTime">currentTime</span>;
   readonly attribute float <span title="dom-media-duration">duration</span>;
-  readonly attribute unsigned short <span title="dom-media-paused">paused</span>;
+  readonly attribute boolean <span title="dom-media-paused">paused</span>;
            attribute float <span title="dom-media-defaultPlaybackRate">defaultPlaybackRate</span>;
            attribute float <span title="dom-media-playbackRate">playbackRate</span>;
   readonly attribute <span>TimeRanges</span> <span title="dom-media-played">played</span>;
@@ -11488,7 +11490,7 @@
            attribute unsigned long <span title="dom-media-currentLoop">currentLoop</span>;
 
   // cue points
-  void <span title="dom-media-addCuePoint">addCuePoint</span>(in float time, in <span>VoidCallback</span> callback, in bool pause);
+  void <span title="dom-media-addCuePoint">addCuePoint</span>(in float time, in <span>VoidCallback</span> callback, in boolean pause);
   void <span title="dom-media-removeCuePoint">removeCuePoint</span>(in float time, in <span>VoidCallback</span> callback);
 
   // controls
@@ -11688,6 +11690,11 @@
 
   </ol>
 
+  <p class="note">A <code>source</code> element with no <code
+  title="attr-source-src">src</code> attribute is assumed to be the
+  last <code>source</code> element — any <code>source</code>
+  elements after it are ignored (and are invalid).</p>
+
   <p>The <dfn
   title="dom-media-currentSrc"><code>currentSrc</code></dfn> DOM
   attribute must return the empty string if the <span>media
@@ -11781,9 +11788,9 @@
    <span>media element</span>.</p></li>
 
    <li><p>The <code title="dom-media-error">error</code> attribute
-   must be set to null, and the <span>loaded-first-frame flag</span>
-   and <span>loaded-enough-to-play-through flag</span> must be both
-   set to false.</p></li>
+   must be set to null, the <span>loaded-first-frame flag</span> must
+   be set to false, and the <span>autoplaying flag</span> must be set
+   to true.</p></li>
 
    <li><p>The <code title="dom-media-playbackRate">playbackRate</code>
    attribute must be set to the value of the <code
@@ -12019,7 +12026,11 @@
        must be switched to the <span
        title="dom-media-EMPTY">EMPTY</span> value and the user agent
        must <span>fire a simple event</span> called <code
-       title="event-emptied">emptied</code> at the element.</li>
+       title="event-emptied">emptied</code> at the element. (If the
+       <code title="dom-media-networkState">networkState</code>
+       attribute has a value greater than <code
+       title="dom-media-LOADING">LOADING</code>, then this doesn't
+       happen; the available data, if any, will be playable.)</li>
 
        <li>These steps must be aborted.</li>
 
@@ -12087,8 +12098,8 @@
 
      <dt id="handling-first-frame-available">Once enough of the
      <span>media data</span> has been downloaded to enable the user
-     agent to display the first frame of the <span>media
-     resource</span></dt>
+     agent to display the frame at the <span>effective start</span> of
+     the <span>media resource</span></dt>
 
      <dd>
 
@@ -12131,9 +12142,11 @@
    </li>
 
    <li><p>If the download completes without errors, the <span>begun
-   flag</span> must be set to false and the user agent must <span>fire
-   a progress event</span> called <code title="event-load">load</code>
-   at the element.</p></li>
+   flag</span> must be set to false, the <code
+   title="dom-media-networkState">networkState</code> attribute must
+   be set to <code title="dom-media-LOADED">LOADED</code>, and the
+   user agent must <span>fire a progress event</span> called <code
+   title="event-load">load</code> at the element.</p></li>
 
   </ol>
 
@@ -12201,12 +12214,16 @@
   title="dom-media-currentTime"><code>currentTime</code></dfn>
   attribute must, on getting, return the <span>current playback
   position</span>, expressed in seconds. On setting, the user agent
-  must <span title="dom-media-seek">seek</span> to the new value.</p>
+  must <span title="dom-media-seek">seek</span> to the new value
+  (which might raise an exception).</p>
 
   <p>The <dfn title="attr-media-start"><code>start</code></dfn>
   content attribute gives the offset into the <span>media
   resource</span> at which playback is to begin. The default value is
-  0.</p>
+  the default start position of the <span>media resource</span>, or 0
+  if not enough <span>media data</span> has been obtained yet to
+  determine the default start position or if the resource doesn't
+  specify a default start position.</p>
 
   <p>The <dfn><var>effective start</var></dfn> is the smaller of the
   <code title="dom-media-start">start</code> DOM attribute and the end
@@ -12222,7 +12239,7 @@
 
   <p>The <dfn><var>effective loop start</var></dfn> is the smaller of
   the <code title="dom-media-loopStart">loopStart</code> DOM attribute
-  and the end of the <span>media resource</span>.<p></li>
+  and the end of the <span>media resource</span>.<p>
 
   <p>The <dfn title="attr-media-loopend"><code>loopend</code></dfn>
   content attribute gives an offset into the <span>media
@@ -12236,8 +12253,9 @@
   <p>The <dfn><var>effective loop end</var></dfn> is the greater of
   the <code title="dom-media-start">start</code>, <code
   title="dom-media-loopStart">loopStart</code>, and <code
-  title="dom-media-loopEnd">loopEnd</code> DOM attributes, and the end
-  of the <span>media resource</span>.<p></li>
+  title="dom-media-loopEnd">loopEnd</code> DOM attributes, except if
+  that is greater than the end of the <span>media resource</span>, in
+  which case that's its value.<p>
 
   <p>The <dfn title="attr-media-end"><code>end</code></dfn> content
   attribute gives an offset into the <span>media resource</span> at
@@ -12246,8 +12264,9 @@
   <p>The <dfn><var>effective end</var></dfn> is the greater of the
   <code title="dom-media-start">start</code>, <code
   title="dom-media-loopStart">loopStart</code>, and <code
-  title="dom-media-loopEnd">end</code> DOM attributes, and the end of
-  the <span>media resource</span>.<p></li>
+  title="dom-media-loopEnd">end</code> DOM attributes, except if that
+  is greater than the end of the <span>media resource</span>, in which
+  case that's its value.<p>
 
   <p>The <code title="attr-media-start">start</code>, <code
   title="attr-media-loopstart">loopstart</code>, <code
@@ -12331,7 +12350,7 @@
    <var>effective loop end</var>, the user agent must <span
    title="dom-media-seek">seek</span> to the <var>effective loop
    start</var>, and increase <code
-   title="dom-media-loopCount">loopCount</code> by 1.</p></li>
+   title="dom-media-currentLoop">currentLoop</code> by 1.</p></li>
 
    <li><p>If the <code
    title="dom-media-currentLoop">currentLoop</code> is equal to
@@ -12466,6 +12485,23 @@
 
   </dl>
 
+  <p class="note">It is possible for the ready state of a media
+  element to jump between these states discontinuously. For example,
+  the state of a media element whose <span>leaded-first-frame
+  flag</span> is false can jump straight from <code
+  title="dom-media-DATA_UNAVAILABLE">DATA_UNAVAILABLE</code> to <code
+  title="dom-media-CAN_PLAY_THROUGH">CAN_PLAY_THROUGH</code> without
+  passing through the <code
+  title="dom-media-CAN_SHOW_CURRENT_FRAME">CAN_SHOW_CURRENT_FRAME</code>
+  and <code title="dom-media-CAN_PLAY">CAN_PLAY</code> states, and
+  thus without firing the <code
+  title="event-canshowcurrentframe">canshowcurrentframe</code> and
+  <code title="event-canplay">canplay</code> events. The only state
+  that is guarenteed to be reached is the <code
+  title="dom-media-CAN_SHOW_CURRENT_FRAME">CAN_SHOW_CURRENT_FRAME</code>
+  state, which is reached as part of the <code
+  title="dom-media-load">load()</code> method's processing.</p>
+
   <p>The <dfn
   title="dom-media-readyState"><code>readyState</code></dfn> DOM
   attribute must, on getting, return the value described above that
@@ -12586,7 +12622,7 @@
   loop end</var>, then the user agent must <span
   title="dom-media-seek">seek</span> to the <var>effective loop
   start</var>, increase <code
-  title="dom-media-loopCount">loopCount</code> by 1, and
+  title="dom-media-currentLoop">currentLoop</code> by 1, and
   <span>fire a simple event</span> called <code
   title="event-timeupdate">timeupdate</code>.</p>
 
@@ -12600,8 +12636,8 @@
 
    <li><p>The user agent must stop playback.</p></li>
 
-   <li><p>The <code title="dom-media-ended">ended</code> attribute
-   becomes true, as described below.</p></li>
+   <li><p class="note">The <code title="dom-media-ended">ended</code>
+   attribute becomes true.</p></li>
 
    <li><p>The user agent must <span>fire a simple event</span> called
    <code title="event-timeupdate">timeupdate</code> at the
@@ -12657,9 +12693,9 @@
    <li><p>If the <span>media element</span>'s <code
    title="dom-media-networkState">networkState</code> attribute has
    the value <span title="dom-media-EMPTY">EMPTY</span>, then the user
-   agent must synchronously invoke the <code
-   title="dom-media-load">load()</code> method. If that raises an
-   exception, that exception must be reraised by the <code
+   agent must invoke the <code title="dom-media-load">load()</code>
+   method and wait for it to return. If that raises an exception, that
+   exception must be reraised by the <code
    title="dom-media-play">play()</code> method.</p></li>
 
    <li><p>If the <span title="ended playback">playback has
@@ -12711,9 +12747,9 @@
    <li><p>If the <span>media element</span>'s <code
    title="dom-media-networkState">networkState</code> attribute has
    the value <span title="dom-media-EMPTY">EMPTY</span>, then the user
-   agent must sychronously invoke the <code
-   title="dom-media-load">load()</code> method. If that raises an
-   exception, that exception must be reraised by the <code
+   agent must invoke the <code title="dom-media-load">load()</code>
+   method and wait for it to return. If that raises an exception, that
+   exception must be reraised by the <code
    title="dom-media-play">pause()</code> method.</p></li>
 
    <li><p>If the <span>media element</span>'s <code
@@ -12824,11 +12860,13 @@
   title="dom-media-seekable">seeking</code> attribute).</p>
 
   <p class="note">If the user agent can seek to anywhere in the
-  <span>media resource</span>, e.g. because the user agent and the
-  server support HTTP Range requests, then the attribute would return
-  an object with one range, whose start is 0, and whose end is the
-  same as the <code title="dom-media-duration">duration</code>
-  attribute's value.</p>
+  <span>media resource</span>, e.g. because it a simple movie file and
+  the user agent and the server support HTTP Range requests, then the
+  attribute would return an object with one range, whose start is the
+  time of the first frame (typically zero), and whose end is the same
+  as the time of the first frame plus the <code
+  title="dom-media-duration">duration</code> attribute's value (which
+  would equal the time of the last frame).</p>
 
 
 
@@ -13006,6 +13044,10 @@
   the object, in seconds measured from the start of the timeline that
   the object covers.</p>
 
+  <p>These methods must raise <code>INDEX_SIZE_ERR</code> exceptions
+  if called with an <var title="">index</var> argument greater than or
+  equal to the number of ranges represented by the object.</p>
+
   <p>When a <code>TimeRanges</code> object is said to be a
   <dfn>normalised <code>TimeRanges</code> object</dfn>, the ranges it
   represents must obey the following criteria:</p>
@@ -13128,17 +13170,17 @@
      <td><dfn title="event-canshowcurrentframe"><code>canshowcurrentframe</code></dfn>
      <td><code>Event</code>
      <td>The user agent cannot render the data after the <span>current playback position</span> because data for the next frame is not immediately available.
-     <td>The <code title="dom-media-readyState">readyState</code> attribute is newly equal to <code title="CAN_SHOW_CURRENT_FRAME">CAN_SHOW_CURRENT_FRAME</code>.
+     <td>The <code title="dom-media-readyState">readyState</code> attribute is newly equal to <code title="dom-media-CAN_SHOW_CURRENT_FRAME">CAN_SHOW_CURRENT_FRAME</code>.
     <tr>
      <td><dfn title="event-canplay"><code>canplay</code></dfn>
      <td><code>Event</code>
      <td>The user agent can resume playback of the <span>media data</span>, but estimates that if playback were to be started now, the <span>media resource</span> could not be rendered at the current playback rate up to its end without having to stop for further buffering of content.
-     <td>The <code title="dom-media-readyState">readyState</code> attribute is newly equal to <code title="CAN_PLAY">CAN_PLAY</code>.
+     <td>The <code title="dom-media-readyState">readyState</code> attribute is newly equal to <code title="dom-media-CAN_PLAY">CAN_PLAY</code>.
     <tr>
      <td><dfn title="event-canplaythrough"><code>canplaythrough</code></dfn>
      <td><code>Event</code>
      <td>The user agent estimates that if playback were to be started now, the <span>media resource</span> could be rendered at the current playback rate all the way to its end without having to stop for further buffering.
-     <td>The <code title="dom-media-readyState">readyState</code> attribute is newly equal to <code title="CAN_PLAY_THROUGH">CAN_PLAY_THROUGH</code>.
+     <td>The <code title="dom-media-readyState">readyState</code> attribute is newly equal to <code title="dom-media-CAN_PLAY_THROUGH">CAN_PLAY_THROUGH</code>.
     <tr>
      <td><dfn title="event-ratehange"><code>ratechange</code></dfn>
      <td><code>Event</code>
@@ -27933,7 +27975,7 @@
 };
 
 interface <dfn>VersionChangeCallback</dfn> {
-  void <span title="dom-versionchangecallback-handleEvent">handleEvent</span>(in bool versionChanged);
+  void <span title="dom-versionchangecallback-handleEvent">handleEvent</span>(in boolean versionChanged);
 };
 
 interface <dfn>SQLCallback</dfn> {
@@ -40797,11 +40839,11 @@
   <p>Thanks to Aankhen, Aaron Boodman, Aaron Leventhal, Adam Roben,
   Adrian Sutton, Agustín Fernández, Alexey Feldgendler,
   Andrew Gove, Andrew Sidwell, Anne van Kesteren, Anthony Hickson,
-  Asbjørn Ulsberg, Ben Godfrey, Ben Meadowcroft, Benjamin
-  Hawkes-Lewis, Bert Bos, Bjoern Hoehrmann, Boris Zbarsky, Brad Fults,
-  Brad Neuberg, Brady Eidson, Brendan Eich, Brett Wilson, Brian
-  Campbell, Carlos Perelló Marín, Chao Cai,
-  &#xc724;&#xc11d;&#xcc2c; (Channy Yun), Charl van
+  Antti Koivisto, Asbjørn Ulsberg, Ben Godfrey, Ben
+  Meadowcroft, Benjamin Hawkes-Lewis, Bert Bos, Bjoern Hoehrmann,
+  Boris Zbarsky, Brad Fults, Brad Neuberg, Brady Eidson, Brendan Eich,
+  Brett Wilson, Brian Campbell, Carlos Perelló Marín,
+  Chao Cai, &#xc724;&#xc11d;&#xcc2c; (Channy Yun), Charl van
   Niekerk<!--status.whatwg.org maintainer-->, Charles Iliya Krempeaux,
   Charles McCathieNevile, Christian Biesinger, Christian Johansen,
   Chriswa, Daniel Peng, Daniel Spång, Darin Alder, Darin Fisher,




More information about the Commit-Watchers mailing list