[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