html5/spec Overview.html,1.5668,1.5669

Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv28847

Modified Files:
	Overview.html 
Log Message:
Expose the controller state, since implementing it is apparently easy and it can be a bit more subtle than it looks. (whatwg r7116)

Index: Overview.html
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.5668
retrieving revision 1.5669
diff -u -d -r1.5668 -r1.5669
--- Overview.html	4 Jun 2012 23:40:39 -0000	1.5668
+++ Overview.html	5 Jun 2012 00:13:35 -0000	1.5669
@@ -321,7 +321,7 @@
 
    <h1>HTML5</h1>
    <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
-   <h2 class="no-num no-toc" id="editor-s-draft-4-june-2012">Editor's Draft 4 June 2012</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-5-june-2012">Editor's Draft 5 June 2012</h2>
    <dl><dt>Latest Published Version:</dt>
     <dd><a href="http://www.w3.org/TR/html5/">http://www.w3.org/TR/html5/</a></dd>
     <dt>Latest Editor's Draft:</dt>
@@ -514,7 +514,7 @@
   Group</a> is the W3C working group responsible for this
   specification's progress along the W3C Recommendation
   track.
-  This specification is the 4 June 2012 Editor's Draft.
+  This specification is the 5 June 2012 Editor's Draft.
   </p>
 
 
@@ -29643,14 +29643,18 @@
 
   <h6 id="media-controllers"><span class="secno">4.8.10.11.2 </span>Media controllers</h6>
 
-  <pre class="idl">[<a href="#dom-mediacontroller" title="dom-MediaController">Constructor</a>]
+  <pre class="idl">enum <dfn id="mediacontrollerplaybackstate">MediaControllerPlaybackState</dfn> { "<a href="#dom-mediacontroller-waiting" title="dom-MediaController-waiting">waiting</a>", "<a href="#dom-mediacontroller-playing" title="dom-MediaController-playing">playing</a>", "<a href="#dom-mediacontroller-ended" title="dom-MediaController-ended">ended</a>" };
+[<a href="#dom-mediacontroller" title="dom-MediaController">Constructor</a>]
 interface <dfn id="mediacontroller">MediaController</dfn> {
+  readonly attribute unsigned short <a href="#dom-mediacontroller-readystate" title="dom-MediaController-readyState">readyState</a>; // uses <a href="#htmlmediaelement">HTMLMediaElement</a>.<a href="#dom-media-readystate" title="dom-media-readyState">readyState</a>'s values
+
   readonly attribute <a href="#timeranges">TimeRanges</a> <a href="#dom-mediacontroller-buffered" title="dom-MediaController-buffered">buffered</a>;
   readonly attribute <a href="#timeranges">TimeRanges</a> <a href="#dom-mediacontroller-seekable" title="dom-MediaController-seekable">seekable</a>;
   readonly attribute double <a href="#dom-mediacontroller-duration" title="dom-MediaController-duration">duration</a>;
            attribute double <a href="#dom-mediacontroller-currenttime" title="dom-MediaController-currentTime">currentTime</a>;
 
   readonly attribute boolean <a href="#dom-mediacontroller-paused" title="dom-MediaController-paused">paused</a>;
+  readonly attribute <a href="#mediacontrollerplaybackstate">MediaControllerPlaybackState</a> <a href="#dom-mediacontroller-playbackstate" title="dom-MediaController-playbackState">playbackState</a>;
   readonly attribute <a href="#timeranges">TimeRanges</a> <a href="#dom-mediacontroller-played" title="dom-MediaController-played">played</a>;
   void <a href="#dom-mediacontroller-play" title="dom-MediaController-play">play</a>();
   void <a href="#dom-mediacontroller-pause" title="dom-MediaController-pause">pause</a>();
@@ -29698,6 +29702,17 @@
 
    </dd>
 
+   <dt><var title="">controller</var> . <code title="dom-MediaController-readyState"><a href="#dom-mediacontroller-readystate">readyState</a></code></dt>
+
+   <dd>
+
+    <p>Returns the state that the <code><a href="#mediacontroller">MediaController</a></code> was in
+    the last time it fired events as a result of <a href="#report-the-controller-state" title="report
+    the controller state">reporting teh controller state</a>. The
+    values of this attribute are the same as for the <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> attribute of <a href="#media-element" title="media element">media elements</a>.</p>
+
+   </dd>
+
    <dt><var title="">controller</var> . <code title="dom-MediaController-buffered"><a href="#dom-mediacontroller-buffered">buffered</a></code></dt>
 
    <dd>
@@ -29753,6 +29768,22 @@
 
    </dd>
 
+   <dt><var title="">controller</var> . <code title="dom-MediaController-playbackState"><a href="#dom-mediacontroller-playbackstate">playbackState</a></code></dt>
+
+   <dd>
+
+    <p>Returns the state that the <code><a href="#mediacontroller">MediaController</a></code> was in
+    the last time it fired events as a result of <a href="#report-the-controller-state" title="report
+    the controller state">reporting teh controller state</a>. The
+    value of this attribute is either "<code title="dom-MediaController-playing"><a href="#dom-mediacontroller-playing">playing</a></code>", indicating
+    that the media is actively playing, "<code title="dom-MediaController-ended"><a href="#dom-mediacontroller-ended">ended</a></code>", indicating that
+    the media is not playing because playback has reached the end of
+    all the <a href="#slaved-media-elements">slaved media elements</a>, or "<code title="dom-MediaController-waiting"><a href="#dom-mediacontroller-waiting">waiting</a></code>", indicating
+    that the media is not playing for some other reason (e.g. the
+    <code><a href="#mediacontroller">MediaController</a></code> is paused).</p>
+
+   </dd>
+
    <dt><var title="">controller</var> . <code title="dom-MediaController-play"><a href="#dom-mediacontroller-play">play</a></code>()</dt>
 
    <dd>
@@ -29900,7 +29931,14 @@
   constructor, when invoked, must return a newly created
   <code><a href="#mediacontroller">MediaController</a></code> object.</p>
 
-  <hr><p>The <dfn id="dom-mediacontroller-seekable" title="dom-MediaController-seekable"><code>seekable</code></dfn>
+  <hr><p>The <dfn id="dom-mediacontroller-readystate" title="dom-MediaController-readyState"><code>readyState</code></dfn>
+  attribute must return the value to which it was most recently set.
+  When the <code><a href="#mediacontroller">MediaController</a></code> object is created, the
+  attribute must be set to the value 0 (<code title="dom-media-HAVE_NOTHING"><a href="#dom-media-have_nothing">HAVE_NOTHING</a></code>). The value is
+  updated by the <a href="#report-the-controller-state">report the controller state</a> algorithm
+  below.</p>
+
+  <p>The <dfn id="dom-mediacontroller-seekable" title="dom-MediaController-seekable"><code>seekable</code></dfn>
   attribute must return a new static <a href="#normalized-timeranges-object">normalized
   <code>TimeRanges</code> object</a> that represents the
   intersection of the ranges of the <a href="#media-resource" title="media resource">media
@@ -29976,6 +30014,13 @@
   <code><a href="#mediacontroller">MediaController</a></code>, and then <a href="#report-the-controller-state">report the controller
   state</a> of the <code><a href="#mediacontroller">MediaController</a></code>.</p>
 
+  <p>The <dfn id="dom-mediacontroller-playbackstate" title="dom-MediaController-playbackState"><code>playbackState</code></dfn>
+  attribute must return the value to which it was most recently set.
+  When the <code><a href="#mediacontroller">MediaController</a></code> object is created, the
+  attribute must be set to the value "<code title="dom-MediaController-waiting"><a href="#dom-mediacontroller-waiting">waiting</a></code>". The value is
+  updated by the <a href="#report-the-controller-state">report the controller state</a> algorithm
+  below.</p>
+
   <p>The <dfn id="dom-mediacontroller-played" title="dom-MediaController-played"><code>played</code></dfn>
   attribute must return a new static <a href="#normalized-timeranges-object">normalized
   <code>TimeRanges</code> object</a> that represents the union of
@@ -30191,9 +30236,19 @@
      <li><p><i>Loop</i>: Increment <var title="">next state</var> by
      one.</li>
 
-     <li><p><a href="#queue-a-task">Queue a task</a> to <a href="#fire-a-simple-event">fire a simple
-     event</a> at the <code><a href="#mediacontroller">MediaController</a></code> object, whose
-     name is the event name corresponding to the value of <var title="">next state</var> given in the table below.</li>
+     <li>
+
+      <p><a href="#queue-a-task">Queue a task</a> to run the following steps:</p>
+
+      <ol><li><p>Set the <code><a href="#mediacontroller">MediaController</a></code>'s <code title="dom-MediaController-readyState"><a href="#dom-mediacontroller-readystate">readyState</a></code>
+       attribute to the value <var title="">next state</var>.</li>
+
+       <li><p><a href="#fire-a-simple-event">Fire a simple event</a> at the
+       <code><a href="#mediacontroller">MediaController</a></code> object, whose name is the event
+       name corresponding to the value of <var title="">next
+       state</var> given in the table below.</li>
+
+      </ol></li>
 
      <li><p>If <var title="">next state</var> is less than <var title="">new readiness state</var>, then return to the step
      labeled <i>loop</i>.</li>
@@ -30272,12 +30327,36 @@
    a simple event</a> named <code title="event-MediaController-pause"><a href="#event-mediacontroller-pause">pause</a></code> at the
    <code><a href="#mediacontroller">MediaController</a></code> object.</li>
 
-   <li><p>If the <code><a href="#mediacontroller">MediaController</a></code>'s <a href="#most-recently-reported-playback-state">most recently
-   reported playback state</a> is not equal to <var title="">new
-   playback state</var> then <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a
-   simple event</a> at the <code><a href="#mediacontroller">MediaController</a></code> object,
-   whose name is <code title="event-MediaController-playing"><a href="#event-mediacontroller-playing">playing</a></code> if <var title="">new playback state</var> is <i>playing</i>, <code title="event-MediaController-ended"><a href="#event-mediacontroller-ended">ended</a></code> if <var title="">new playback state</var> is <i>ended</i>, and <code title="event-MediaController-waiting"><a href="#event-mediacontroller-waiting">waiting</a></code>
-   otherwise.</li>
+   <li>
+
+    <p>If the <code><a href="#mediacontroller">MediaController</a></code>'s <a href="#most-recently-reported-playback-state">most recently
+    reported playback state</a> is not equal to <var title="">new
+    playback state</var> then <a href="#queue-a-task">queue a task</a> to run the
+    following steps:</p>
+
+    <ol><li><p>Set the <code><a href="#mediacontroller">MediaController</a></code>'s <code title="dom-MediaController-playbackState"><a href="#dom-mediacontroller-playbackstate">playbackState</a></code>
+     attribute to the value given in the second column of the row of
+     the following table whose first column contains the <var title="">new playback state</var>.</li>
+
+     <li><p><a href="#fire-a-simple-event">Fire a simple event</a> at the
+     <code><a href="#mediacontroller">MediaController</a></code> object, whose name is the value
+     given in the third column of the row of the following table whose
+     first column contains the <var title="">new playback
+     state</var>.</li>
+
+    </ol><table><thead><tr><th>New playback state
+       <th>New value for <code title="dom-MediaController-playbackState"><a href="#dom-mediacontroller-playbackstate">playbackState</a></code>
+       <th>Event name
+     <tbody><tr><td><i>playing</i>
+       <td>"<dfn id="dom-mediacontroller-playing" title="dom-MediaController-playing"><code>playing</code></dfn>"
+       <td><code title="event-MediaController-playing"><a href="#event-mediacontroller-playing">playing</a></code>
+      <tr><td><i>waiting</i>
+       <td>"<dfn id="dom-mediacontroller-waiting" title="dom-MediaController-waiting"><code>waiting</code></dfn>"
+       <td><code title="event-MediaController-waiting"><a href="#event-mediacontroller-waiting">waiting</a></code>
+      <tr><td><i>ended</i>
+       <td>"<dfn id="dom-mediacontroller-ended" title="dom-MediaController-ended"><code>ended</code></dfn>"
+       <td><code title="event-MediaController-ended"><a href="#event-mediacontroller-ended">ended</a></code>
+    </table></li>
 
    <li><p>Let the <code><a href="#mediacontroller">MediaController</a></code>'s <a href="#most-recently-reported-playback-state">most recently
    reported playback state</a> be <var title="">new playback

Received on Tuesday, 5 June 2012 00:13:42 UTC