[html5] r2326 - [e] (0) Reorganise the video section (should be no normative changes here)
whatwg at whatwg.org
whatwg at whatwg.org
Mon Oct 13 13:53:19 PDT 2008
Author: ianh
Date: 2008-10-13 13:53:18 -0700 (Mon, 13 Oct 2008)
New Revision: 2326
Modified:
index
source
Log:
[e] (0) Reorganise the video section (should be no normative changes here)
Modified: index
===================================================================
--- index 2008-10-13 20:24:52 UTC (rev 2325)
+++ index 2008-10-13 20:53:18 UTC (rev 2326)
@@ -440,15 +440,14 @@
<li><a href=#loading-the-media-resource><span class=secno>4.8.10.4 </span>Loading the media resource</a></li>
<li><a href=#offsets-into-the-media-resource><span class=secno>4.8.10.5 </span>Offsets into the media resource</a></li>
<li><a href=#the-ready-states><span class=secno>4.8.10.6 </span>The ready states</a></li>
- <li><a href=#playing-the-media-resource><span class=secno>4.8.10.7 </span>Playing the media resource</a></li>
- <li><a href=#seeking><span class=secno>4.8.10.8 </span>Seeking</a></li>
- <li><a href=#cue-ranges><span class=secno>4.8.10.9 </span>Cue ranges</a></li>
- <li><a href=#playback-processing-model><span class=secno>4.8.10.10 </span>Playback processing model</a></li>
- <li><a href=#user-interface><span class=secno>4.8.10.11 </span>User interface</a></li>
- <li><a href=#time-ranges><span class=secno>4.8.10.12 </span>Time ranges</a></li>
- <li><a href=#byte-ranges><span class=secno>4.8.10.13 </span>Byte ranges</a></li>
- <li><a href=#mediaevents><span class=secno>4.8.10.14 </span>Event summary</a></li>
- <li><a href=#security-and-privacy-considerations><span class=secno>4.8.10.15 </span>Security and privacy considerations</a></ol></li>
+ <li><a href=#cue-ranges><span class=secno>4.8.10.7 </span>Cue ranges</a></li>
+ <li><a href=#playing-the-media-resource><span class=secno>4.8.10.8 </span>Playing the media resource</a></li>
+ <li><a href=#seeking><span class=secno>4.8.10.9 </span>Seeking</a></li>
+ <li><a href=#user-interface><span class=secno>4.8.10.10 </span>User interface</a></li>
+ <li><a href=#time-ranges><span class=secno>4.8.10.11 </span>Time ranges</a></li>
+ <li><a href=#byte-ranges><span class=secno>4.8.10.12 </span>Byte ranges</a></li>
+ <li><a href=#mediaevents><span class=secno>4.8.10.13 </span>Event summary</a></li>
+ <li><a href=#security-and-privacy-considerations><span class=secno>4.8.10.14 </span>Security and privacy considerations</a></ol></li>
<li><a href=#the-canvas-element><span class=secno>4.8.11 </span>The <code>canvas</code> element</a>
<ol>
<li><a href=#the-2d-context><span class=secno>4.8.11.1 </span>The 2D context</a>
@@ -1383,10 +1382,17 @@
if the node is not currently part of the document tree, the root
element will be an orphaned node.</p>
+ <p>The <code>Document</code> of a <code>Node</code> (such as an
+ element) is the <code>Document</code> that the <code>Node</code>'s
+ <code title="">ownerDocument</code> DOM attribute returns.</p>
+
<p>An element is said to have been <dfn id=insert-an-element-into-a-document title="insert an element
into a document">inserted into a document</dfn> when its <a href=#root-element>root
element</a> changes and is now the document's <a href=#root-element>root
- element</a>.</p>
+ element</a>. If a <code>Node</code> is in a <code>Document</code>
+ then that <code>Document</code> is always the <code>Node</code>'s
+ <code>Document</code>, and the <code>Node</code>'s <code title="">ownerDocument</code> DOM attribute thus always returns that
+ <code>Document</code>.</p>
<p>The term <dfn id=tree-order>tree order</dfn> means a pre-order, depth-first
traversal of DOM nodes involved (through the <code title="">parentNode</code>/<code title="">childNodes</code>
@@ -17516,8 +17522,57 @@
- <h5 id=playing-the-media-resource><span class=secno>4.8.10.7 </span>Playing the media resource</h5>
+ <h5 id=cue-ranges><span class=secno>4.8.10.7 </span>Cue ranges</h5>
+ <p><a href=#media-element title="media element">Media elements</a> have a set of
+ <dfn id=cue-range title="cue range">cue ranges</dfn>. Each cue range is made up
+ of the following information:</p>
+
+ <dl><dt>A class name</dt>
+ <dd>A group of related ranges can be given the same class name so
+ that they can all be removed at the same time.</dd>
+
+ <dt>An identifier<dt>
+ </dt><dd>A string can be assigned to each cue range for identification
+ by script. The string need not be unique and can contain any
+ value.</dd>
+
+ <dt>A start time</dt>
+ <dt>An end time</dt>
+ <dd>The actual time range, using the same timeline as the
+ <a href=#media-resource>media resource</a> itself.</dd>
+
+ <dt>A "pause" boolean</dt>
+ <dd>A flag indicating whether to pause playback on exit.</dd>
+
+ <dt>An "enter" callback</dt>
+ <dd>A callback that is called when the <a href=#current-playback-position>current playback
+ position</a> enters the range.</dd>
+
+ <dt>An "exit" callback</dt>
+ <dd>A callback that is called when the <a href=#current-playback-position>current playback
+ position</a> exits the range.</dd>
+
+ <dt>An "active" boolean</dt>
+ <dd>A flag indicating whether the range is active or not.</dd>
+
+ </dl><p>The <dfn id=dom-media-addcuerange title=dom-media-addCueRange><code>addCueRange(<var title="">className</var>, <var title="">id</var>, <var title="">start</var>, <var title="">end</var>, <var title="">pauseOnExit</var>, <var title="">enterCallback</var>, <var title="">exitCallback</var>)</code></dfn> method must, when called,
+ add a <a href=#cue-range>cue range</a> to the <a href=#media-element>media element</a>, that
+ cue range having the class name <var title="">className</var>, the
+ identifier <var title="">id</var>, the start time <var title="">start</var> (in seconds), the end time <var title="">end</var> (in seconds), the "pause" boolean with the same
+ value as <var title="">pauseOnExit</var>, the "enter" callback <var title="">enterCallback</var>, the "exit" callback <var title="">exitCallback</var>, and an "active" boolean that is true if
+ the <a href=#current-playback-position>current playback position</a> is equal to or greater
+ than the start time and less than the end time, and false
+ otherwise.</p>
+
+ <p>The <dfn id=dom-media-removecueranges title=dom-media-removeCueRanges><code>removeCueRanges(<var title="">className</var>)</code></dfn> method must, when called,
+ remove all the <a href=#cue-range title="cue range">cue ranges</a> of the
+ <a href=#media-element>media element</a> which have the class name <var title="">className</var>.</p>
+
+
+
+ <h5 id=playing-the-media-resource><span class=secno>4.8.10.8 </span>Playing the media resource</h5>
+
<p>The <dfn id=dom-media-paused title=dom-media-paused><code>paused</code></dfn>
attribute represents whether the <a href=#media-element>media element</a> is
paused or not. The attribute must initially be true.</p>
@@ -17538,6 +17593,10 @@
<code title=dom-media-currentLoop><a href=#dom-media-currentloop>currentLoop</a></code> attribute is
equal to <span><code title=dom-media-playCount><a href=#dom-media-playcount>playCount</a></code>-1</span>.</p>
+ <p>The <dfn id=dom-media-ended title=dom-media-ended><code>ended</code></dfn>
+ attribute must return true if the <a href=#media-element>media element</a> has
+ <a href=#ended-playback>ended playback</a>, and false otherwise.</p>
+
<p>A <a href=#media-element>media element</a> is said to have <dfn id=stopped-due-to-errors>stopped due to
errors</dfn> when the element's <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute is
<code title=dom-media-LOADED_METADATA><a href=#dom-media-loaded_metadata>LOADED_METADATA</a></code> or
@@ -17557,30 +17616,11 @@
<a href=#ended-playback>ended playback</a> and <a href=#paused-for-user-interaction>paused for user
interaction</a> at the same time.</p>
- <p id=media-playback>When a <a href=#media-element>media element</a> is
- <a href=#actively-playing>actively playing</a> and its <span title=dom-ownerDocument>owner <code>Document</code></span><!-- XXX
- xref --> is an <a href=#active-document>active document</a>, its <a href=#current-playback-position>current
- playback position</a> must increase monotonically at <code title=dom-media-playbackRate><a href=#dom-media-playbackrate>playbackRate</a></code> units of media
- time per unit time of wall clock time. If this value is not 1, the
- user agent may apply pitch adjustments to any audio component of the
- <a href=#media-resource>media resource</a>.</p>
+ <p>When a <a href=#media-element>media element</a> that is <a href=#actively-playing>actively
+ playing</a> stops playing because it has <a href=#paused-for-user-interaction>paused for user
+ interaction</a>, the user agent must <a href=#queue-a-task>queue a task</a> to
+ <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-timeupdate><a href=#event-timeupdate>timeupdate</a></code> at the element.</p>
- <p class=note>This specification doesn't define how the user agent
- achieves the appropriate playback rate — depending on the
- protocol and media available, it is plausible that the user agent
- could negotiate with the server to have the server provide the media
- data at the appropriate rate, so that (except for the period between
- when the rate is changed and when the server updates the stream's
- playback rate) the client doesn't actually have to drop or
- interpolate any frames.</p>
-
- <p><a href=#media-resource title="media resource">Media resources</a> might be
- internally scripted or interactive. Thus, a <a href=#media-element>media
- element</a> could play in a non-linear fashion. If this happens,
- the user agent must act as if the algorithm for <a href=#dom-media-seek title=dom-media-seek>seeking</a> was used whenever the
- <a href=#current-playback-position>current playback position</a> changes in a discontinuous
- fashion (so that the relevant events fire).</p>
-
<p id=fire-waiting-when-waiting>When a <a href=#media-element>media element</a>
that is <a href=#actively-playing>actively playing</a> stops playing because its
<code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> attribute
@@ -17593,11 +17633,6 @@
<a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> called
<code title=event-waiting><a href=#event-waiting>waiting</a></code> at the element.</p>
- <p>When a <a href=#media-element>media element</a> that is <a href=#actively-playing>actively
- playing</a> stops playing because it has <a href=#paused-for-user-interaction>paused for user
- interaction</a>, the user agent must <a href=#queue-a-task>queue a task</a> to
- <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-timeupdate><a href=#event-timeupdate>timeupdate</a></code> at the element.</p>
-
<p>When <code title=dom-media-currentLoop><a href=#dom-media-currentloop>currentLoop</a></code> is
less than <span><code title=dom-media-playCount><a href=#dom-media-playcount>playCount</a></code>-1</span> and the
<a href=#current-playback-position>current playback position</a> reaches the <var><a href=#effective-loop-end>effective
@@ -17649,7 +17684,29 @@
event</a> called <code title=event-ratechange><a href=#event-ratechange>ratechange</a></code>
at the <a href=#media-element>media element</a>.</p>
+ <p>The <dfn id=dom-media-played title=dom-media-played><code>played</code></dfn>
+ attribute must return a static <a href=#normalized-timeranges-object>normalized
+ <code>TimeRanges</code> object</a> that represents the ranges of
+ the <a href=#media-resource>media resource</a>, if any, that the user agent has so
+ far rendered, at the time the attribute is evaluated.</p>
+ <hr><p id=media-playback>When a <a href=#media-element>media element</a> is
+ <a href=#actively-playing>actively playing</a> and its <code>Document</code> is an
+ <a href=#active-document>active document</a>, its <a href=#current-playback-position>current playback
+ position</a> must increase monotonically at <code title=dom-media-playbackRate><a href=#dom-media-playbackrate>playbackRate</a></code> units of media
+ time per unit time of wall clock time. If this value is not 1, the
+ user agent may apply pitch adjustments to any audio component of the
+ <a href=#media-resource>media resource</a>.</p>
+
+ <p class=note>This specification doesn't define how the user agent
+ achieves the appropriate playback rate — depending on the
+ protocol and media available, it is plausible that the user agent
+ could negotiate with the server to have the server provide the media
+ data at the appropriate rate, so that (except for the period between
+ when the rate is changed and when the server updates the stream's
+ playback rate) the client doesn't actually have to drop or
+ interpolate any frames.</p>
+
<hr><p>When the <dfn id=dom-media-play title=dom-media-play><code>play()</code></dfn>
method on a <a href=#media-element>media element</a> is invoked, the user agent
must run the following steps.</p>
@@ -17699,7 +17756,7 @@
called <code title=event-pause><a href=#event-pause>play</a></code> at the
element.</li>
- </ol><p>When the <dfn id=dom-media-pause title=dom-media-pause><code>pause()</code></dfn>
+ </ol><hr><p>When the <dfn id=dom-media-pause title=dom-media-pause><code>pause()</code></dfn>
method is invoked, the user agent must run the following steps:</p>
<ol><li><p>If the <a href=#media-element>media element</a>'s <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute has
@@ -17723,6 +17780,75 @@
event</a> called <code title=event-pause><a href=#event-pause>pause</a></code> at the
element.</li>
+ </ol><hr><p>When the <a href=#current-playback-position>current playback position</a> of a <a href=#media-element>media
+ element</a> changes (e.g. due to playback or seeking), the user
+ agent must run the following steps. If the <a href=#current-playback-position>current playback
+ position</a> changes while the steps are running, then the user
+ agent must wait for the steps to complete, and then must immediately
+ rerun the steps. (These steps are thus run as often as possible or
+ needed — if one iteration takes a long time, this can cause
+ certain ranges to be skipped over as the user agent rushes ahead to
+ "catch up".)</p>
+
+ <ol><li><p>Let <var title="">current ranges</var> be an ordered list of
+ <a href=#cue-range title="cue range">cue ranges</a>, initialized to contain
+ all the <a href=#cue-range title="cue range">cue ranges</a> of the
+ <a href=#media-element>media element</a> whose start times are less than or equal
+ to the <a href=#current-playback-position>current playback position</a> and whose end times
+ are greater than the <a href=#current-playback-position>current playback position</a>, in the
+ order they were added to the element.</li>
+
+ <li><p>Let <var title="">other ranges</var> be an ordered list of
+ <a href=#cue-range title="cue range">cue ranges</a>, initialized to contain
+ all the <a href=#cue-range title="cue range">cue ranges</a> of the
+ <a href=#media-element>media element</a> that are not present in <var title="">current ranges</var>, in the order they were added to the
+ element.</li>
+
+ <li><p>If none of the <a href=#cue-range title="cue range">cue ranges</a> in
+ <var title="">current ranges</var> have their "active" boolean set
+ to "false" (inactive) and none of the <a href=#cue-range title="cue range">cue
+ ranges</a> in <var title="">other ranges</var> have their
+ "active" boolean set to "true" (active), then abort these
+ steps.</li>
+
+ <li><p>If the time was reached through the usual monotonic increase
+ of the current playback position during normal playback, the user
+ agent must then <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
+ event</a> called <code title=event-timeupdate><a href=#event-timeupdate>timeupdate</a></code> at the element. (In the
+ other cases, such as explicit seeks, relevant events get fired as
+ part of the overall process of changing the current playback
+ position.)</li>
+
+ <li><p>If the time was reached through the usual monotonic increase
+ of the current playback position during normal playback, and there
+ are <a href=#cue-range title="cue range">cue ranges</a> in <var title="">other ranges</var> that have both their "active" boolean
+ and their "pause" boolean set to "true", then immediately act as if
+ the element's <code title=dom-media-pause><a href=#dom-media-pause>pause()</a></code> method
+ had been invoked. <!-- pause() can in theory call load(), but never
+ can it do so as part of this invokation, since we wouldn't be in
+ this algorithm if the media element was empty. So, no need to couch
+ all this in a task. --> (In the other cases, such as explicit
+ seeks, playback is not paused by exiting a cue range, even if that
+ cue range has its "pause" boolean set to "true".)</li>
+
+ <li><p>For each non-null "exit" callback of the <a href=#cue-range title="cue range">cue ranges</a> in <var title="">other
+ ranges</var> that have their "active" boolean set to "true"
+ (active), in list order, <a href=#queue-a-task>queue a task</a> that invokes the
+ callback, passing the cue range's identifier as the callback's only
+ argument.</li>
+
+ <li><p>For each non-null "enter" callback of the <a href=#cue-range title="cue
+ range">cue ranges</a> in <var title="">current ranges</var> that
+ have their "active" boolean set to "false" (inactive), in list
+ order, <a href=#queue-a-task>queue a task</a> that invokes the callback, passing
+ the cue range's identifier as the callback's only
+ argument.</li>
+
+ <li><p>Set the "active" boolean of all the <a href=#cue-range title="cue
+ range">cue ranges</a> in the <var title="">current ranges</var>
+ list to "true" (active), and the "active" boolean of all the <a href=#cue-range title="cue range">cue ranges</a> in the <var title="">other
+ ranges</var> list to "false" (inactive).</li>
+
</ol><p>When a <a href=#media-element>media element</a> is <span>removed from a
<code>Document</code><!-- XXX xref removed --></span>, if the
<a href=#media-element>media element</a>'s <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute has a
@@ -17740,26 +17866,16 @@
has been reached) may the element be <span>garbage
collected</span><!-- XXX xref -->.</p>
- <p class=note>If the <a href=#media-element>media element</a>'s <code title=dom-ownerDocument>ownerDocument</code> stops being an active
- document, then the playback will <a href=#media-playback>stop</a>
- until the document is active again.</p>
+ <p class=note>If the <a href=#media-element>media element</a>'s
+ <code>Document</code> stops being an active document, then the
+ playback will <a href=#media-playback>stop</a> until the document
+ is active again.</p>
- <p>The <dfn id=dom-media-ended title=dom-media-ended><code>ended</code></dfn>
- attribute must return true if the <a href=#media-element>media element</a> has
- <a href=#ended-playback>ended playback</a>, and false otherwise.</p>
- <p>The <dfn id=dom-media-played title=dom-media-played><code>played</code></dfn>
- attribute must return a static <a href=#normalized-timeranges-object>normalized
- <code>TimeRanges</code> object</a> that represents the ranges of
- the <a href=#media-resource>media resource</a>, if any, that the user agent has so
- far rendered, at the time the attribute is evaluated.</p>
+ <h5 id=seeking><span class=secno>4.8.10.9 </span>Seeking</h5>
-
-
- <h5 id=seeking><span class=secno>4.8.10.8 </span>Seeking</h5>
-
<p>The <dfn id=dom-media-seeking title=dom-media-seeking><code>seeking</code></dfn>
attribute must initially have the value false.</p>
@@ -17849,129 +17965,17 @@
as the time of the first frame plus the <code title=dom-media-duration><a href=#dom-media-duration>duration</a></code> attribute's value (which
would equal the time of the last frame).</p>
+ <p><a href=#media-resource title="media resource">Media resources</a> might be
+ internally scripted or interactive. Thus, a <a href=#media-element>media
+ element</a> could play in a non-linear fashion. If this happens,
+ the user agent must act as if the algorithm for <a href=#dom-media-seek title=dom-media-seek>seeking</a> was used whenever the
+ <a href=#current-playback-position>current playback position</a> changes in a discontinuous
+ fashion (so that the relevant events fire).</p>
- <h5 id=cue-ranges><span class=secno>4.8.10.9 </span>Cue ranges</h5>
- <p><a href=#media-element title="media element">Media elements</a> have a set of
- <dfn id=cue-range title="cue range">cue ranges</dfn>. Each cue range is made up
- of the following information:</p>
+ <h5 id=user-interface><span class=secno>4.8.10.10 </span>User interface</h5>
- <dl><dt>A class name</dt>
- <dd>A group of related ranges can be given the same class name so
- that they can all be removed at the same time.</dd>
-
- <dt>An identifier<dt>
- </dt><dd>A string can be assigned to each cue range for identification
- by script. The string need not be unique and can contain any
- value.</dd>
-
- <dt>A start time</dt>
- <dt>An end time</dt>
- <dd>The actual time range, using the same timeline as the
- <a href=#media-resource>media resource</a> itself.</dd>
-
- <dt>A "pause" boolean</dt>
- <dd>A flag indicating whether to pause playback on exit.</dd>
-
- <dt>An "enter" callback</dt>
- <dd>A callback that is called when the <a href=#current-playback-position>current playback
- position</a> enters the range.</dd>
-
- <dt>An "exit" callback</dt>
- <dd>A callback that is called when the <a href=#current-playback-position>current playback
- position</a> exits the range.</dd>
-
- <dt>An "active" boolean</dt>
- <dd>A flag indicating whether the range is active or not.</dd>
-
- </dl><p>The <dfn id=dom-media-addcuerange title=dom-media-addCueRange><code>addCueRange(<var title="">className</var>, <var title="">id</var>, <var title="">start</var>, <var title="">end</var>, <var title="">pauseOnExit</var>, <var title="">enterCallback</var>, <var title="">exitCallback</var>)</code></dfn> method must, when called,
- add a <a href=#cue-range>cue range</a> to the <a href=#media-element>media element</a>, that
- cue range having the class name <var title="">className</var>, the
- identifier <var title="">id</var>, the start time <var title="">start</var> (in seconds), the end time <var title="">end</var> (in seconds), the "pause" boolean with the same
- value as <var title="">pauseOnExit</var>, the "enter" callback <var title="">enterCallback</var>, the "exit" callback <var title="">exitCallback</var>, and an "active" boolean that is true if
- the <a href=#current-playback-position>current playback position</a> is equal to or greater
- than the start time and less than the end time, and false
- otherwise.</p>
-
- <p>The <dfn id=dom-media-removecueranges title=dom-media-removeCueRanges><code>removeCueRanges(<var title="">className</var>)</code></dfn> method must, when called,
- remove all the <a href=#cue-range title="cue range">cue ranges</a> of the
- <a href=#media-element>media element</a> which have the class name <var title="">className</var>.</p>
-
-
- <h5 id=playback-processing-model><span class=secno>4.8.10.10 </span>Playback processing model</h5>
-
- <p>When the <a href=#current-playback-position>current playback position</a> of a <a href=#media-element>media
- element</a> changes (e.g. due to playback or seeking), the user
- agent must run the following steps. If the <a href=#current-playback-position>current playback
- position</a> changes while the steps are running, then the user
- agent must wait for the steps to complete, and then must immediately
- rerun the steps. (These steps are thus run as often as possible or
- needed — if one iteration takes a long time, this can cause
- certain ranges to be skipped over as the user agent rushes ahead to
- "catch up".)</p>
-
- <ol><li><p>Let <var title="">current ranges</var> be an ordered list of
- <a href=#cue-range title="cue range">cue ranges</a>, initialized to contain
- all the <a href=#cue-range title="cue range">cue ranges</a> of the
- <a href=#media-element>media element</a> whose start times are less than or equal
- to the <a href=#current-playback-position>current playback position</a> and whose end times
- are greater than the <a href=#current-playback-position>current playback position</a>, in the
- order they were added to the element.</li>
-
- <li><p>Let <var title="">other ranges</var> be an ordered list of
- <a href=#cue-range title="cue range">cue ranges</a>, initialized to contain
- all the <a href=#cue-range title="cue range">cue ranges</a> of the
- <a href=#media-element>media element</a> that are not present in <var title="">current ranges</var>, in the order they were added to the
- element.</li>
-
- <li><p>If none of the <a href=#cue-range title="cue range">cue ranges</a> in
- <var title="">current ranges</var> have their "active" boolean set
- to "false" (inactive) and none of the <a href=#cue-range title="cue range">cue
- ranges</a> in <var title="">other ranges</var> have their
- "active" boolean set to "true" (active), then abort these
- steps.</li>
-
- <li><p>If the time was reached through the usual monotonic increase
- of the current playback position during normal playback, the user
- agent must then <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
- event</a> called <code title=event-timeupdate><a href=#event-timeupdate>timeupdate</a></code> at the element. (In the
- other cases, such as explicit seeks, relevant events get fired as
- part of the overall process of changing the current playback
- position.)</li>
-
- <li><p>If the time was reached through the usual monotonic increase
- of the current playback position during normal playback, and there
- are <a href=#cue-range title="cue range">cue ranges</a> in <var title="">other ranges</var> that have both their "active" boolean
- and their "pause" boolean set to "true", then immediately act as if
- the element's <code title=dom-media-pause><a href=#dom-media-pause>pause()</a></code> method
- had been invoked. <!-- pause() can in theory call load(), but never
- can it do so as part of this invokation, since we wouldn't be in
- this algorithm if the media element was empty. So, no need to couch
- all this in a task. --> (In the other cases, such as explicit
- seeks, playback is not paused by exiting a cue range, even if that
- cue range has its "pause" boolean set to "true".)</li>
-
- <li><p>For each non-null "exit" callback of the <a href=#cue-range title="cue range">cue ranges</a> in <var title="">other
- ranges</var> that have their "active" boolean set to "true"
- (active), in list order, <a href=#queue-a-task>queue a task</a> that invokes the
- callback, passing the cue range's identifier as the callback's only
- argument.</li>
-
- <li><p>For each non-null "enter" callback of the <a href=#cue-range title="cue
- range">cue ranges</a> in <var title="">current ranges</var> that
- have their "active" boolean set to "false" (inactive), in list
- order, <a href=#queue-a-task>queue a task</a> that invokes the callback, passing
- the cue range's identifier as the callback's only
- argument.</li>
-
- <li><p>Set the "active" boolean of all the <a href=#cue-range title="cue
- range">cue ranges</a> in the <var title="">current ranges</var>
- list to "true" (active), and the "active" boolean of all the <a href=#cue-range title="cue range">cue ranges</a> in the <var title="">other
- ranges</var> list to "false" (inactive).</li>
-
- </ol><h5 id=user-interface><span class=secno>4.8.10.11 </span>User interface</h5>
-
<p>The <dfn id=attr-media-controls title=attr-media-controls><code>controls</code></dfn>
attribute is a <a href=#boolean-attribute>boolean attribute</a>. If the attribute is
present, or if the <a href=#media-element>media element</a> is <a href=#without-script>without
@@ -18039,7 +18043,7 @@
- <h5 id=time-ranges><span class=secno>4.8.10.12 </span>Time ranges</h5>
+ <h5 id=time-ranges><span class=secno>4.8.10.11 </span>Time ranges</h5>
<p>Objects implementing the <code><a href=#timeranges>TimeRanges</a></code> interface
represent a list of ranges (periods) of time.</p>
@@ -18086,7 +18090,7 @@
- <h5 id=byte-ranges><span class=secno>4.8.10.13 </span>Byte ranges</h5>
+ <h5 id=byte-ranges><span class=secno>4.8.10.12 </span>Byte ranges</h5>
<p>Objects implementing the <code><a href=#byteranges>ByteRanges</a></code> interface
represent a list of ranges of bytes.</p>
@@ -18132,7 +18136,7 @@
- <h5 id=mediaevents><span class=secno>4.8.10.14 </span>Event summary</h5>
+ <h5 id=mediaevents><span class=secno>4.8.10.13 </span>Event summary</h5>
<p>The following events fire on <a href=#media-element title="media element">media
elements</a> as part of the processing model described above:</p>
@@ -18236,7 +18240,7 @@
<td><code>Event</code>
<td>Either the <code title=dom-media-volume><a href=#dom-media-volume>volume</a></code> attribute or the <code title=dom-media-muted><a href=#dom-media-muted>muted</a></code> attribute has changed. Fired after the relevant attribute's setter has returned.
<td>
- </table><h5 id=security-and-privacy-considerations><span class=secno>4.8.10.15 </span>Security and privacy considerations</h5>
+ </table><h5 id=security-and-privacy-considerations><span class=secno>4.8.10.14 </span>Security and privacy considerations</h5>
<p class=XXX>Talk about making sure interactive media files
(e.g. SVG) don't have access to the container DOM (XSS potential);
@@ -38980,16 +38984,15 @@
exactly one range and its <code title="">collapsed</code> attribute
is itself true. Otherwise it must return false.</p>
- <p>The <dfn id=dom-selection-collapse title=dom-selection-collapse><code>collapse(<var title="">parentNode</var>,
- <var title="">offset</var>)</code></dfn> method must raise a
- <code>WRONG_DOCUMENT_ERR</code> DOM exception if
- <var title="">parentNode</var>'s <code title="">ownerDocument</code> is not
- the <code><a href=#htmldocument>HTMLDocument</a></code> object with which the
+ <p>The <dfn id=dom-selection-collapse title=dom-selection-collapse><code>collapse(<var title="">parentNode</var>, <var title="">offset</var>)</code></dfn>
+ method must raise a <code>WRONG_DOCUMENT_ERR</code> DOM exception if
+ <var title="">parentNode</var>'s <code>Document</code> is not the
+ <code><a href=#htmldocument>HTMLDocument</a></code> object with which the
<code><a href=#selection-0>Selection</a></code> object is associated. Otherwise it is, and
the method must remove all the ranges in the <code><a href=#selection-0>Selection</a></code>
list, then create a new <code>Range</code> object, add it to the
- list, and invoke its <code title="">setStart()</code> and <code title="">setEnd()</code> methods with the <var title="">parentNode</var> and
- <var title="">offset</var> values as their arguments.</p>
+ list, and invoke its <code title="">setStart()</code> and <code title="">setEnd()</code> methods with the <var title="">parentNode</var> and <var title="">offset</var> values as
+ their arguments.</p>
<p>The <dfn id=dom-selection-collapsetostart title=dom-selection-collapseToStart><code>collapseToStart()</code></dfn>
method must raise an <code>INVALID_STATE_ERR</code> DOM exception if
Modified: source
===================================================================
--- source 2008-10-13 20:24:52 UTC (rev 2325)
+++ source 2008-10-13 20:53:18 UTC (rev 2326)
@@ -442,10 +442,18 @@
if the node is not currently part of the document tree, the root
element will be an orphaned node.</p>
+ <p>The <code>Document</code> of a <code>Node</code> (such as an
+ element) is the <code>Document</code> that the <code>Node</code>'s
+ <code title="">ownerDocument</code> DOM attribute returns.</p>
+
<p>An element is said to have been <dfn title="insert an element
into a document">inserted into a document</dfn> when its <span>root
element</span> changes and is now the document's <span>root
- element</span>.</p>
+ element</span>. If a <code>Node</code> is in a <code>Document</code>
+ then that <code>Document</code> is always the <code>Node</code>'s
+ <code>Document</code>, and the <code>Node</code>'s <code
+ title="">ownerDocument</code> DOM attribute thus always returns that
+ <code>Document</code>.</p>
<p>The term <dfn>tree order</dfn> means a pre-order, depth-first
traversal of DOM nodes involved (through the <code
@@ -18845,6 +18853,70 @@
+ <h5>Cue ranges</h5>
+
+ <p><span title="media element">Media elements</span> have a set of
+ <dfn title="cue range">cue ranges</dfn>. Each cue range is made up
+ of the following information:</p>
+
+ <dl>
+
+ <dt>A class name</dt>
+ <dd>A group of related ranges can be given the same class name so
+ that they can all be removed at the same time.</dd>
+
+ <dt>An identifier<dt>
+ <dd>A string can be assigned to each cue range for identification
+ by script. The string need not be unique and can contain any
+ value.</dd>
+
+ <dt>A start time</dt>
+ <dt>An end time</dt>
+ <dd>The actual time range, using the same timeline as the
+ <span>media resource</span> itself.</dd>
+
+ <dt>A "pause" boolean</dt>
+ <dd>A flag indicating whether to pause playback on exit.</dd>
+
+ <dt>An "enter" callback</dt>
+ <dd>A callback that is called when the <span>current playback
+ position</span> enters the range.</dd>
+
+ <dt>An "exit" callback</dt>
+ <dd>A callback that is called when the <span>current playback
+ position</span> exits the range.</dd>
+
+ <dt>An "active" boolean</dt>
+ <dd>A flag indicating whether the range is active or not.</dd>
+
+ </dl>
+
+ <p>The <dfn title="dom-media-addCueRange"><code>addCueRange(<var
+ title="">className</var>, <var title="">id</var>, <var
+ title="">start</var>, <var title="">end</var>, <var
+ title="">pauseOnExit</var>, <var title="">enterCallback</var>, <var
+ title="">exitCallback</var>)</code></dfn> method must, when called,
+ add a <span>cue range</span> to the <span>media element</span>, that
+ cue range having the class name <var title="">className</var>, the
+ identifier <var title="">id</var>, the start time <var
+ title="">start</var> (in seconds), the end time <var
+ title="">end</var> (in seconds), the "pause" boolean with the same
+ value as <var title="">pauseOnExit</var>, the "enter" callback <var
+ title="">enterCallback</var>, the "exit" callback <var
+ title="">exitCallback</var>, and an "active" boolean that is true if
+ the <span>current playback position</span> is equal to or greater
+ than the start time and less than the end time, and false
+ otherwise.</p>
+
+ <p>The <dfn
+ title="dom-media-removeCueRanges"><code>removeCueRanges(<var
+ title="">className</var>)</code></dfn> method must, when called,
+ remove all the <span title="cue range">cue ranges</span> of the
+ <span>media element</span> which have the class name <var
+ title="">className</var>.</p>
+
+
+
<h5>Playing the media resource</h5>
<p>The <dfn title="dom-media-paused"><code>paused</code></dfn>
@@ -18871,6 +18943,10 @@
equal to <span><code
title="dom-media-playCount">playCount</code>-1</span>.</p>
+ <p>The <dfn title="dom-media-ended"><code>ended</code></dfn>
+ attribute must return true if the <span>media element</span> has
+ <span>ended playback</span>, and false otherwise.</p>
+
<p>A <span>media element</span> is said to have <dfn>stopped due to
errors</dfn> when the element's <code
title="dom-media-networkState">networkState</code> attribute is
@@ -18895,33 +18971,12 @@
<span>ended playback</span> and <span>paused for user
interaction</span> at the same time.</p>
- <p id="media-playback">When a <span>media element</span> is
- <span>actively playing</span> and its <span
- title="dom-ownerDocument">owner <code>Document</code></span><!-- XXX
- xref --> is an <span>active document</span>, its <span>current
- playback position</span> must increase monotonically at <code
- title="dom-media-playbackRate">playbackRate</code> units of media
- time per unit time of wall clock time. If this value is not 1, the
- user agent may apply pitch adjustments to any audio component of the
- <span>media resource</span>.</p>
+ <p>When a <span>media element</span> that is <span>actively
+ playing</span> stops playing because it has <span>paused for user
+ interaction</span>, the user agent must <span>queue a task</span> to
+ <span>fire a simple event</span> called <code
+ title="event-timeupdate">timeupdate</code> at the element.</p>
- <p class="note">This specification doesn't define how the user agent
- achieves the appropriate playback rate — depending on the
- protocol and media available, it is plausible that the user agent
- could negotiate with the server to have the server provide the media
- data at the appropriate rate, so that (except for the period between
- when the rate is changed and when the server updates the stream's
- playback rate) the client doesn't actually have to drop or
- interpolate any frames.</p>
-
- <p><span title="media resource">Media resources</span> might be
- internally scripted or interactive. Thus, a <span>media
- element</span> could play in a non-linear fashion. If this happens,
- the user agent must act as if the algorithm for <span
- title="dom-media-seek">seeking</span> was used whenever the
- <span>current playback position</span> changes in a discontinuous
- fashion (so that the relevant events fire).</p>
-
<p id="fire-waiting-when-waiting">When a <span>media element</span>
that is <span>actively playing</span> stops playing because its
<code title="dom-media-readyState">readyState</code> attribute
@@ -18936,12 +18991,6 @@
<span>queue a task</span> to <span>fire a simple event</span> called
<code title="event-waiting">waiting</code> at the element.</p>
- <p>When a <span>media element</span> that is <span>actively
- playing</span> stops playing because it has <span>paused for user
- interaction</span>, the user agent must <span>queue a task</span> to
- <span>fire a simple event</span> called <code
- title="event-timeupdate">timeupdate</code> at the element.</p>
-
<p>When <code title="dom-media-currentLoop">currentLoop</code> is
less than <span><code
title="dom-media-playCount">playCount</code>-1</span> and the
@@ -19006,9 +19055,34 @@
event</span> called <code title="event-ratechange">ratechange</code>
at the <span>media element</span>.</p>
+ <p>The <dfn title="dom-media-played"><code>played</code></dfn>
+ attribute must return a static <span>normalized
+ <code>TimeRanges</code> object</span> that represents the ranges of
+ the <span>media resource</span>, if any, that the user agent has so
+ far rendered, at the time the attribute is evaluated.</p>
<hr>
+ <p id="media-playback">When a <span>media element</span> is
+ <span>actively playing</span> and its <code>Document</code> is an
+ <span>active document</span>, its <span>current playback
+ position</span> must increase monotonically at <code
+ title="dom-media-playbackRate">playbackRate</code> units of media
+ time per unit time of wall clock time. If this value is not 1, the
+ user agent may apply pitch adjustments to any audio component of the
+ <span>media resource</span>.</p>
+
+ <p class="note">This specification doesn't define how the user agent
+ achieves the appropriate playback rate — depending on the
+ protocol and media available, it is plausible that the user agent
+ could negotiate with the server to have the server provide the media
+ data at the appropriate rate, so that (except for the period between
+ when the rate is changed and when the server updates the stream's
+ playback rate) the client doesn't actually have to drop or
+ interpolate any frames.</p>
+
+ <hr>
+
<p>When the <dfn title="dom-media-play"><code>play()</code></dfn>
method on a <span>media element</span> is invoked, the user agent
must run the following steps.</p>
@@ -19072,6 +19146,7 @@
</ol>
+ <hr>
<p>When the <dfn title="dom-media-pause"><code>pause()</code></dfn>
method is invoked, the user agent must run the following steps:</p>
@@ -19105,8 +19180,86 @@
</ol>
+ <hr>
+ <p>When the <span>current playback position</span> of a <span>media
+ element</span> changes (e.g. due to playback or seeking), the user
+ agent must run the following steps. If the <span>current playback
+ position</span> changes while the steps are running, then the user
+ agent must wait for the steps to complete, and then must immediately
+ rerun the steps. (These steps are thus run as often as possible or
+ needed — if one iteration takes a long time, this can cause
+ certain ranges to be skipped over as the user agent rushes ahead to
+ "catch up".)</p>
+ <ol>
+
+ <li><p>Let <var title="">current ranges</var> be an ordered list of
+ <span title="cue range">cue ranges</span>, initialized to contain
+ all the <span title="cue range">cue ranges</span> of the
+ <span>media element</span> whose start times are less than or equal
+ to the <span>current playback position</span> and whose end times
+ are greater than the <span>current playback position</span>, in the
+ order they were added to the element.</p></li>
+
+ <li><p>Let <var title="">other ranges</var> be an ordered list of
+ <span title="cue range">cue ranges</span>, initialized to contain
+ all the <span title="cue range">cue ranges</span> of the
+ <span>media element</span> that are not present in <var
+ title="">current ranges</var>, in the order they were added to the
+ element.</p></li>
+
+ <li><p>If none of the <span title="cue range">cue ranges</span> in
+ <var title="">current ranges</var> have their "active" boolean set
+ to "false" (inactive) and none of the <span title="cue range">cue
+ ranges</span> in <var title="">other ranges</var> have their
+ "active" boolean set to "true" (active), then abort these
+ steps.</p></li>
+
+ <li><p>If the time was reached through the usual monotonic increase
+ of the current playback position during normal playback, the user
+ agent must then <span>queue a task</span> to <span>fire a simple
+ event</span> called <code
+ title="event-timeupdate">timeupdate</code> at the element. (In the
+ other cases, such as explicit seeks, relevant events get fired as
+ part of the overall process of changing the current playback
+ position.)</p></li>
+
+ <li><p>If the time was reached through the usual monotonic increase
+ of the current playback position during normal playback, and there
+ are <span title="cue range">cue ranges</span> in <var
+ title="">other ranges</var> that have both their "active" boolean
+ and their "pause" boolean set to "true", then immediately act as if
+ the element's <code title="dom-media-pause">pause()</code> method
+ had been invoked. <!-- pause() can in theory call load(), but never
+ can it do so as part of this invokation, since we wouldn't be in
+ this algorithm if the media element was empty. So, no need to couch
+ all this in a task. --> (In the other cases, such as explicit
+ seeks, playback is not paused by exiting a cue range, even if that
+ cue range has its "pause" boolean set to "true".)</p></li>
+
+ <li><p>For each non-null "exit" callback of the <span
+ title="cue range">cue ranges</span> in <var title="">other
+ ranges</var> that have their "active" boolean set to "true"
+ (active), in list order, <span>queue a task</span> that invokes the
+ callback, passing the cue range's identifier as the callback's only
+ argument.</p></li>
+
+ <li><p>For each non-null "enter" callback of the <span title="cue
+ range">cue ranges</span> in <var title="">current ranges</var> that
+ have their "active" boolean set to "false" (inactive), in list
+ order, <span>queue a task</span> that invokes the callback, passing
+ the cue range's identifier as the callback's only
+ argument.</p></li>
+
+ <li><p>Set the "active" boolean of all the <span title="cue
+ range">cue ranges</span> in the <var title="">current ranges</var>
+ list to "true" (active), and the "active" boolean of all the <span
+ title="cue range">cue ranges</span> in the <var title="">other
+ ranges</var> list to "false" (inactive).</p></li>
+
+ </ol>
+
<p>When a <span>media element</span> is <span>removed from a
<code>Document</code><!-- XXX xref removed --></span>, if the
<span>media element</span>'s <code
@@ -19126,25 +19279,14 @@
has been reached) may the element be <span>garbage
collected</span><!-- XXX xref -->.</p>
- <p class="note">If the <span>media element</span>'s <code
- title="dom-ownerDocument">ownerDocument</code> stops being an active
- document, then the playback will <a href="#media-playback">stop</a>
- until the document is active again.</p>
+ <p class="note">If the <span>media element</span>'s
+ <code>Document</code> stops being an active document, then the
+ playback will <a href="#media-playback">stop</a> until the document
+ is active again.</p>
- <p>The <dfn title="dom-media-ended"><code>ended</code></dfn>
- attribute must return true if the <span>media element</span> has
- <span>ended playback</span>, and false otherwise.</p>
- <p>The <dfn title="dom-media-played"><code>played</code></dfn>
- attribute must return a static <span>normalized
- <code>TimeRanges</code> object</span> that represents the ranges of
- the <span>media resource</span>, if any, that the user agent has so
- far rendered, at the time the attribute is evaluated.</p>
-
-
-
<h5>Seeking</h5>
<p>The <dfn title="dom-media-seeking"><code>seeking</code></dfn>
@@ -19251,153 +19393,16 @@
title="dom-media-duration">duration</code> attribute's value (which
would equal the time of the last frame).</p>
+ <p><span title="media resource">Media resources</span> might be
+ internally scripted or interactive. Thus, a <span>media
+ element</span> could play in a non-linear fashion. If this happens,
+ the user agent must act as if the algorithm for <span
+ title="dom-media-seek">seeking</span> was used whenever the
+ <span>current playback position</span> changes in a discontinuous
+ fashion (so that the relevant events fire).</p>
- <h5>Cue ranges</h5>
- <p><span title="media element">Media elements</span> have a set of
- <dfn title="cue range">cue ranges</dfn>. Each cue range is made up
- of the following information:</p>
-
- <dl>
-
- <dt>A class name</dt>
- <dd>A group of related ranges can be given the same class name so
- that they can all be removed at the same time.</dd>
-
- <dt>An identifier<dt>
- <dd>A string can be assigned to each cue range for identification
- by script. The string need not be unique and can contain any
- value.</dd>
-
- <dt>A start time</dt>
- <dt>An end time</dt>
- <dd>The actual time range, using the same timeline as the
- <span>media resource</span> itself.</dd>
-
- <dt>A "pause" boolean</dt>
- <dd>A flag indicating whether to pause playback on exit.</dd>
-
- <dt>An "enter" callback</dt>
- <dd>A callback that is called when the <span>current playback
- position</span> enters the range.</dd>
-
- <dt>An "exit" callback</dt>
- <dd>A callback that is called when the <span>current playback
- position</span> exits the range.</dd>
-
- <dt>An "active" boolean</dt>
- <dd>A flag indicating whether the range is active or not.</dd>
-
- </dl>
-
- <p>The <dfn title="dom-media-addCueRange"><code>addCueRange(<var
- title="">className</var>, <var title="">id</var>, <var
- title="">start</var>, <var title="">end</var>, <var
- title="">pauseOnExit</var>, <var title="">enterCallback</var>, <var
- title="">exitCallback</var>)</code></dfn> method must, when called,
- add a <span>cue range</span> to the <span>media element</span>, that
- cue range having the class name <var title="">className</var>, the
- identifier <var title="">id</var>, the start time <var
- title="">start</var> (in seconds), the end time <var
- title="">end</var> (in seconds), the "pause" boolean with the same
- value as <var title="">pauseOnExit</var>, the "enter" callback <var
- title="">enterCallback</var>, the "exit" callback <var
- title="">exitCallback</var>, and an "active" boolean that is true if
- the <span>current playback position</span> is equal to or greater
- than the start time and less than the end time, and false
- otherwise.</p>
-
- <p>The <dfn
- title="dom-media-removeCueRanges"><code>removeCueRanges(<var
- title="">className</var>)</code></dfn> method must, when called,
- remove all the <span title="cue range">cue ranges</span> of the
- <span>media element</span> which have the class name <var
- title="">className</var>.</p>
-
-
- <h5>Playback processing model</h5>
-
- <p>When the <span>current playback position</span> of a <span>media
- element</span> changes (e.g. due to playback or seeking), the user
- agent must run the following steps. If the <span>current playback
- position</span> changes while the steps are running, then the user
- agent must wait for the steps to complete, and then must immediately
- rerun the steps. (These steps are thus run as often as possible or
- needed — if one iteration takes a long time, this can cause
- certain ranges to be skipped over as the user agent rushes ahead to
- "catch up".)</p>
-
- <ol>
-
- <li><p>Let <var title="">current ranges</var> be an ordered list of
- <span title="cue range">cue ranges</span>, initialized to contain
- all the <span title="cue range">cue ranges</span> of the
- <span>media element</span> whose start times are less than or equal
- to the <span>current playback position</span> and whose end times
- are greater than the <span>current playback position</span>, in the
- order they were added to the element.</p></li>
-
- <li><p>Let <var title="">other ranges</var> be an ordered list of
- <span title="cue range">cue ranges</span>, initialized to contain
- all the <span title="cue range">cue ranges</span> of the
- <span>media element</span> that are not present in <var
- title="">current ranges</var>, in the order they were added to the
- element.</p></li>
-
- <li><p>If none of the <span title="cue range">cue ranges</span> in
- <var title="">current ranges</var> have their "active" boolean set
- to "false" (inactive) and none of the <span title="cue range">cue
- ranges</span> in <var title="">other ranges</var> have their
- "active" boolean set to "true" (active), then abort these
- steps.</p></li>
-
- <li><p>If the time was reached through the usual monotonic increase
- of the current playback position during normal playback, the user
- agent must then <span>queue a task</span> to <span>fire a simple
- event</span> called <code
- title="event-timeupdate">timeupdate</code> at the element. (In the
- other cases, such as explicit seeks, relevant events get fired as
- part of the overall process of changing the current playback
- position.)</p></li>
-
- <li><p>If the time was reached through the usual monotonic increase
- of the current playback position during normal playback, and there
- are <span title="cue range">cue ranges</span> in <var
- title="">other ranges</var> that have both their "active" boolean
- and their "pause" boolean set to "true", then immediately act as if
- the element's <code title="dom-media-pause">pause()</code> method
- had been invoked. <!-- pause() can in theory call load(), but never
- can it do so as part of this invokation, since we wouldn't be in
- this algorithm if the media element was empty. So, no need to couch
- all this in a task. --> (In the other cases, such as explicit
- seeks, playback is not paused by exiting a cue range, even if that
- cue range has its "pause" boolean set to "true".)</p></li>
-
- <li><p>For each non-null "exit" callback of the <span
- title="cue range">cue ranges</span> in <var title="">other
- ranges</var> that have their "active" boolean set to "true"
- (active), in list order, <span>queue a task</span> that invokes the
- callback, passing the cue range's identifier as the callback's only
- argument.</p></li>
-
- <li><p>For each non-null "enter" callback of the <span title="cue
- range">cue ranges</span> in <var title="">current ranges</var> that
- have their "active" boolean set to "false" (inactive), in list
- order, <span>queue a task</span> that invokes the callback, passing
- the cue range's identifier as the callback's only
- argument.</p></li>
-
- <li><p>Set the "active" boolean of all the <span title="cue
- range">cue ranges</span> in the <var title="">current ranges</var>
- list to "true" (active), and the "active" boolean of all the <span
- title="cue range">cue ranges</span> in the <var title="">other
- ranges</var> list to "false" (inactive).</p></li>
-
- </ol>
-
-
-
<h5>User interface</h5>
<p>The <dfn title="attr-media-controls"><code>controls</code></dfn>
@@ -44309,18 +44314,18 @@
exactly one range and its <code title="">collapsed</code> attribute
is itself true. Otherwise it must return false.</p>
- <p>The <dfn
- title="dom-selection-collapse"><code>collapse(<var title="">parentNode</var>,
- <var title="">offset</var>)</code></dfn> method must raise a
- <code>WRONG_DOCUMENT_ERR</code> DOM exception if
- <var title="">parentNode</var>'s <code title="">ownerDocument</code> is not
- the <code>HTMLDocument</code> object with which the
+ <p>The <dfn title="dom-selection-collapse"><code>collapse(<var
+ title="">parentNode</var>, <var title="">offset</var>)</code></dfn>
+ method must raise a <code>WRONG_DOCUMENT_ERR</code> DOM exception if
+ <var title="">parentNode</var>'s <code>Document</code> is not the
+ <code>HTMLDocument</code> object with which the
<code>Selection</code> object is associated. Otherwise it is, and
the method must remove all the ranges in the <code>Selection</code>
list, then create a new <code>Range</code> object, add it to the
list, and invoke its <code title="">setStart()</code> and <code
- title="">setEnd()</code> methods with the <var title="">parentNode</var> and
- <var title="">offset</var> values as their arguments.</p>
+ title="">setEnd()</code> methods with the <var
+ title="">parentNode</var> and <var title="">offset</var> values as
+ their arguments.</p>
<p>The <dfn
title="dom-selection-collapseToStart"><code>collapseToStart()</code></dfn>
More information about the Commit-Watchers
mailing list