[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, 윤석찬 (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, 黒澤剛志 (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, 윤석찬 (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, 黒澤剛志 (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,
- 윤석찬 (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, 윤석찬 (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