spec/Overview.html 1.1256 2083 Further work on the event loop front. (T

Further work on the event loop front. (This should complete the bulk of
the changes required for the media elements section.) (whatwg r2083)

pause()
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1256.html#pause0
muted
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1256.html#muted
The user agent must queue a task to queue a task to fire a simple event called timeupdate at the element.
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1256.html#seekUpdate
removeCueRanges(className)
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1256.html#removecueranges
4.7.10.11. Time ranges
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1256.html#time-ranges
seekable
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1256.html#seekable
seek
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1256.html#seek

http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html
http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.1255&r2=1.1256&f=h
http://html5.org/tools/web-apps-tracker?from=2082&to=2083

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.1255
retrieving revision 1.1256
diff -u -d -r1.1255 -r1.1256
--- Overview.html 19 Aug 2008 06:52:37 -0000 1.1255
+++ Overview.html 19 Aug 2008 08:21:01 -0000 1.1256
@@ -20182,15 +20182,13 @@
 
    <li>
     <p>If the second step above changed the value of <code
-     title=dom-media-paused><a href="#paused">paused</a></code>, then, after
-     any running scripts have finished executing, the user agent must first
-     <a href="#firing2">fire a simple event</a> called <code
+     title=dom-media-paused><a href="#paused">paused</a></code>, then the
+     user agent must <a href="#queue">queue a task</a> to <a
+     href="#firing2">fire a simple event</a> called <code
      title=event-timeupdate><a href="#timeupdate">timeupdate</a></code> at
-     the element, and then <a href="#firing2">fire a simple event</a> called
-     <code title=event-pause><a href="#pause1">pause</a></code> at the
-     element.
-   </li>
-   <!-- xxx queue -->
+     the element, and <a href="#queue">queue a task</a> to <a
+     href="#firing2">fire a simple event</a> called <code
+     title=event-pause><a href="#pause1">pause</a></code> at the element.
   </ol>
 
   <p>When a <a href="#media7">media element</a> is <span>removed from a
@@ -20287,18 +20285,11 @@
     <p>The <code title=dom-media-seeking><a
      href="#seeking0">seeking</a></code> DOM attribute must be set to true.
 
-   <li>
-    <p>If the seek was in response to a DOM method call or setting of a DOM
-     attribute, then continue the script. The remainder of these steps must
-     be run asynchronously.
-
    <li id=seekUpdate>
-    <p>Once any running scripts have finished executing, the user agent must
-     <a href="#firing2">fire a simple event</a> called <code
-     title=event-timeupdate><a href="#timeupdate">timeupdate</a></code> at
-     the element.
-   </li>
-   <!-- xxx queue -->
+    <p>The user agent must <a href="#queue">queue a task</a> to <a
+     href="#queue">queue a task</a> to <a href="#firing2">fire a simple
+     event</a> called <code title=event-timeupdate><a
+     href="#timeupdate">timeupdate</a></code> at the element.
 
    <li>
     <p>If the <a href="#media7">media element</a> was <a
@@ -20307,18 +20298,23 @@
      href="#readystate0">readyState</a></code> attribute to change to a value
      lower than <code title=dom-media-CAN_PLAY><a
      href="#canplay">CAN_PLAY</a></code>, the user agent must <a
-     href="#firing2">fire a simple event</a> called <code
-     title=event-waiting><a href="#waiting">waiting</a></code> at the
-     element.
+     href="#queue">queue a task</a> to <a href="#firing2">fire a simple
+     event</a> called <code title=event-waiting><a
+     href="#waiting">waiting</a></code> at the element.
 
    <li>
     <p>If, when it reaches this step, the user agent has still not
      established whether or not the <a href="#media9">media data</a> for the
      <var title="">new playback position</var> is available, and, if it is,
      decoded enough data to play back that position, the user agent must <a
-     href="#firing2">fire a simple event</a> called <code
-     title=event-seeking><a href="#seeking1">seeking</a></code> at the
-     element.
+     href="#queue">queue a task</a> to <a href="#firing2">fire a simple
+     event</a> called <code title=event-seeking><a
+     href="#seeking1">seeking</a></code> at the element.
+
+   <li>
+    <p>If the seek was in response to a DOM method call or setting of a DOM
+     attribute, then continue the script. The remainder of these steps must
+     be run asynchronously.
 
    <li>
     <p>The user agent must wait until it has established whether or not the
@@ -20331,11 +20327,9 @@
      href="#seeking0">seeking</a></code> DOM attribute must be set to false.
 
    <li>
-    <p>Once any running scripts have finished executing, the user agent must
-     <a href="#firing2">fire a simple event</a> called <code
+    <p>The user agent must <a href="#queue">queue a task</a> to <a
+     href="#firing2">fire a simple event</a> called <code
      title=event-seeked><a href="#seeked">seeked</a></code> at the element.
-   </li>
-   <!-- xxx queue -->
   </ol>
 
   <p>The <dfn id=seekable
@@ -20465,13 +20459,11 @@
    <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="#firing2">fire a simple event</a> called <code
-     title=event-timeupdate><a href="#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>
-   <!-- xxx queue -->
+     then <a href="#queue">queue a task</a> to <a href="#firing2">fire a
+     simple event</a> called <code title=event-timeupdate><a
+     href="#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>
     <p>If the time was reached through the usual monotonic increase of the
@@ -20480,27 +20472,28 @@
      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="#pause0">pause()</a></code> method had been invoked. (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".)
+     href="#pause0">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>
-    <p>Invoke all the non-null "exit" callbacks for all of the <a
-     href="#cue-ranges0" title="cue range">cue ranges</a> in <var
-     title="">other ranges</var> that have their "active" boolean set to
-     "true" (active), in list order, passing their identifier as the
-     callback's only argument.
-   </li>
-   <!-- XXX queue -->
+    <p>For each non-null "exit" callback of the <a href="#cue-ranges0"
+     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">queue a task</a> that invokes the callback, passing the
+     cue range's identifier as the callback's only argument.
 
    <li>
-    <p>Invoke all the non-null "enter" callbacks for all of the <a
-     href="#cue-ranges0" title="cue range">cue ranges</a> in <var
-     title="">current ranges</var> that have their "active" boolean set to
-     "false" (inactive), in list order, passing their identifier as the
-     callback's only argument.
-   </li>
-   <!-- XXX queue -->
+    <p>For each non-null "enter" callback of the <a href="#cue-ranges0"
+     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">queue a task</a> that invokes the callback,
+     passing the cue range's identifier as the callback's only argument.
 
    <li>
     <p>Set the "active" boolean of all the <a href="#cue-ranges0" title="cue
@@ -20589,12 +20582,11 @@
 
   <p>Whenever either the <code title=dom-media-muted><a
    href="#muted">muted</a></code> or <code title=dom-media-volume><a
-   href="#volume">volume</a></code> attributes are changed, after any running
-   scripts have finished executing, the user agent must <a
-   href="#firing2">fire a simple event</a> called <code
-   title=event-volumechange><a href="#volumechange">volumechange</a></code>
-   at the <a href="#media7">media element</a>.</p>
-  <!-- queue xxx -->
+   href="#volume">volume</a></code> attributes are changed, the user agent
+   must <a href="#queue">queue a task</a> to <a href="#firing2">fire a simple
+   event</a> called <code title=event-volumechange><a
+   href="#volumechange">volumechange</a></code> at the <a
+   href="#media7">media element</a>.
 
   <h5 id=time-ranges><span class=secno>4.7.10.11. </span>Time ranges</h5>

Received on Tuesday, 19 August 2008 08:24:40 UTC