[html5] r7367 - [giow] (1) Make MediaController.play() work as people expect, and make .unpause( [...]

whatwg at whatwg.org whatwg at whatwg.org
Mon Sep 17 11:55:54 PDT 2012


Author: ianh
Date: 2012-09-17 11:55:53 -0700 (Mon, 17 Sep 2012)
New Revision: 7367

Modified:
   complete.html
   index
   source
Log:
[giow] (1) Make MediaController.play() work as people expect, and make .unpause() just unpause the MediaController (what play() used to do). Also, fix error from yesterday that I keep screwing up.
Affected topics: HTML, Video and Audio

Modified: complete.html
===================================================================
--- complete.html	2012-09-17 18:43:33 UTC (rev 7366)
+++ complete.html	2012-09-17 18:55:53 UTC (rev 7367)
@@ -31790,19 +31790,19 @@
   unpaused, or it could be unpaused but stalled waiting for content to
   buffer.</p>
 
-  <hr><p>Each <a href=#media-element>media element</a> has a <span>list of newly
-  introduced cues</span>, which must be initially empty. Whenever a
+  <hr><p>Each <a href=#media-element>media element</a> has a <dfn id=list-of-newly-introduced-cues>list of newly
+  introduced cues</dfn>, which must be initially empty. Whenever a
   <a href=#text-track-cue>text track cue</a> is added to the <a href=#text-track-list-of-cues title="text track
   list of cues">list of cues</a> of a <a href=#text-track>text track</a> that
   is in the <a href=#list-of-text-tracks>list of text tracks</a> for a <a href=#media-element>media
   element</a>, that <a href=#text-track-cue title="text track cue">cue</a> must be
-  added to the <a href=#media-element>media element</a>'s <span>list of newly
-  introduced cues</span>. Whenever a <a href=#text-track>text track</a> is added
+  added to the <a href=#media-element>media element</a>'s <a href=#list-of-newly-introduced-cues>list of newly
+  introduced cues</a>. Whenever a <a href=#text-track>text track</a> is added
   to the <a href=#list-of-text-tracks>list of text tracks</a> for a <a href=#media-element>media
   element</a>, all of the <a href=#text-track-cue title="text track cue">cues</a>
   in that <a href=#text-track>text track</a>'s <a href=#text-track-list-of-cues title="text track list of
   cues">list of cues</a> must be added to the <a href=#media-element>media
-  element</a>'s <span>list of newly introduced cues</span>.</p>
+  element</a>'s <a href=#list-of-newly-introduced-cues>list of newly introduced cues</a>.</p>
 
   <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
@@ -31846,9 +31846,9 @@
 
    <li><p>Remove all the <a href=#text-track-cue title="text track cue">cues</a> in
    <var title="">missed cues</var> that are also in the <a href=#media-element>media
-   element</a>'s <span>list of newly introduced cues</span>, and
-   then empty the element's <span>list of newly introduced
-   cues</span>.</li>
+   element</a>'s <a href=#list-of-newly-introduced-cues>list of newly introduced cues</a>, and
+   then empty the element's <a href=#list-of-newly-introduced-cues>list of newly introduced
+   cues</a>.</li>
 
    <li><p>If the time was reached through the usual monotonic increase
    of the <a href=#current-playback-position>current playback position</a> during normal
@@ -32737,7 +32737,7 @@
 
   <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> {
+interface <dfn id=mediacontroller>MediaController</dfn> : <a href=#eventtarget>EventTarget</a> {
   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>;
@@ -32748,8 +32748,9 @@
   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>();
+  void <a href=#dom-mediacontroller-unpause title=dom-MediaController-unpause>unpause</a>();
+  void <a href=#dom-mediacontroller-play title=dom-MediaController-play>play</a>(); // calls play() on all media elements as well
 
            attribute double <a href=#dom-mediacontroller-defaultplaybackrate title=dom-MediaController-defaultPlaybackRate>defaultPlaybackRate</a>;
            attribute double <a href=#dom-mediacontroller-playbackrate title=dom-MediaController-playbackRate>playbackRate</a>;
@@ -32876,21 +32877,31 @@
 
    </dd>
 
-   <dt><var title="">controller</var> . <code title=dom-MediaController-play><a href=#dom-mediacontroller-play>play</a></code>()</dt>
+   <dt><var title="">controller</var> . <code title=dom-MediaController-pause><a href=#dom-mediacontroller-pause>pause</a></code>()</dt>
 
    <dd>
 
     <p>Sets the <code title=dom-MediaController-paused><a href=#dom-mediacontroller-paused>paused</a></code>
+    attribute to true.</p>
+
+   </dd>
+
+   <dt><var title="">controller</var> . <code title=dom-MediaController-unpause><a href=#dom-mediacontroller-unpause>unpause</a></code>()</dt>
+
+   <dd>
+
+    <p>Sets the <code title=dom-MediaController-paused><a href=#dom-mediacontroller-paused>paused</a></code>
     attribute to false.</p>
 
    </dd>
 
-   <dt><var title="">controller</var> . <code title=dom-MediaController-pause><a href=#dom-mediacontroller-pause>pause</a></code>()</dt>
+   <dt><var title="">controller</var> . <code title=dom-MediaController-play><a href=#dom-mediacontroller-play>play</a></code>()</dt>
 
    <dd>
 
     <p>Sets the <code title=dom-MediaController-paused><a href=#dom-mediacontroller-paused>paused</a></code>
-    attribute to true.</p>
+    attribute to false and invokes the <code title=dom-media-play><a href=#dom-media-play>play()</a></code> method of each <span>slaved
+    media element</span>.</p>
 
    </dd>
 
@@ -32972,7 +32983,10 @@
   controller</a> is that <code><a href=#mediacontroller>MediaController</a></code>. All the
   <a href=#slaved-media-elements>slaved media elements</a> of a <code><a href=#mediacontroller>MediaController</a></code>
   must use the same clock for their definition of their <a href=#media-timeline>media
-  timeline</a>'s unit time.</p>
+  timeline</a>'s unit time. When the user agent is required to act
+  on each <span>slaved media element</span> in turn, they must be
+  processed in the order that they were last associated with the
+  <code><a href=#mediacontroller>MediaController</a></code>.</p>
 
   <hr><p>The <dfn id=dom-media-controller title=dom-media-controller><code>controller</code></dfn> attribute
   on a <a href=#media-element>media element</a>, on getting, must return the
@@ -33097,15 +33111,20 @@
   <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>When the <dfn id=dom-mediacontroller-play title=dom-MediaController-play><code>play()</code></dfn> method is
-  invoked, if the <code><a href=#mediacontroller>MediaController</a></code> is a <a href=#paused-media-controller>paused media
-  controller</a>, the user agent must change the
+  <p>When the <dfn id=dom-mediacontroller-unpause title=dom-MediaController-unpause><code>unpause()</code></dfn>
+  method is invoked, if the <code><a href=#mediacontroller>MediaController</a></code> is a
+  <a href=#paused-media-controller>paused media controller</a>, the user agent must change the
   <code><a href=#mediacontroller>MediaController</a></code> into a <a href=#playing-media-controller>playing media
   controller</a>, <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
   event</a> named <code title=event-MediaController-play><a href=#event-mediacontroller-play>play</a></code> at the
   <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>When the <dfn id=dom-mediacontroller-play title=dom-MediaController-play><code>play()</code></dfn> method is
+  invoked, the user agent must invoke the <code title=dom-media-play><a href=#dom-media-play>play</a></code> method of each <span>slaved media
+  element</span> in turn, and then invoke the <code title=dom-MediaController-unpause><a href=#dom-mediacontroller-unpause>unpause</a></code> method 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
@@ -51730,6 +51749,13 @@
 
   </div>
 
+  <p class=note>The difference between <code title=attr-fe-disabled><a href=#attr-fe-disabled>disabled</a></code> and <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> is that read-only
+  controls are still focusable, so the user can still select the text
+  and interact with it, whereas disabled controls are entirely
+  non-interactive. (For this reason, only text controls can be made
+  read-only: it wouldn't make sense for checkboxes or buttons, for
+  instances.)</p>
+
   <div class=example>
 
    <p>In the following example, the existing product identifiers
@@ -51737,26 +51763,26 @@
    form, for consistency with the row representing a new product
    (where the identifier is not yet filled in).</p>
 
-   <pre><form action="products.cgi" method=post enctype="multipart/form-data">
+   <pre><form action="products.cgi" method="post" enctype="multipart/form-data">
  <table>
   <tr> <th> Product ID <th> Product name <th> Price <th> Action
   <tr>
-   <td> <input readonly name="1.pid" value="H412">
-   <td> <input required name="1.pname" value="Floor lamp Ulke">
-   <td> $<input required type=number min=0 step=0.01 name="1.pprice" value="49.99">
-   <td> <button formnovalidate name="action" value="delete:1">Delete</button>
+   <td> <input readonly="readonly" name="1.pid" value="H412">
+   <td> <input required="required" name="1.pname" value="Floor lamp Ulke">
+   <td> $<input required="required" type="number" min="0" step="0.01" name="1.pprice" value="49.99">
+   <td> <button formnovalidate="formnovalidate" name="action" value="delete:1">Delete</button>
   <tr>
-   <td> <input readonly name="2.pid" value="FG28">
-   <td> <input required name="2.pname" value="Table lamp Ulke">
-   <td> $<input required type=number min=0 step=0.01 name="2.pprice" value="24.99">
-   <td> <button formnovalidate name="action" value="delete:2">Delete</button>
+   <td> <input readonly="readonly" name="2.pid" value="FG28">
+   <td> <input required="required" name="2.pname" value="Table lamp Ulke">
+   <td> $<input required="required" type="number" min="0" step="0.01" name="2.pprice" value="24.99">
+   <td> <button formnovalidate="formnovalidate" name="action" value="delete:2">Delete</button>
   <tr>
-   <td> <input required name="3.pid" value="" pattern="[A-Z0-9]+">
-   <td> <input required name="3.pname" value="">
-   <td> $<input required type=number min=0 step=0.01 name="3.pprice" value="">
-   <td> <button formnovalidate name="action" value="delete:3">Delete</button>
+   <td> <input required="required" name="3.pid" value="" pattern="[A-Z0-9]+">
+   <td> <input required="required" name="3.pname" value="">
+   <td> $<input required="required" type="number" min="0" step="0.01" name="3.pprice" value="">
+   <td> <button formnovalidate="formnovalidate" name="action" value="delete:3">Delete</button>
  </table>
- <p> <button formnovalidate name="action" value="add">Add</button> </p>
+ <p> <button formnovalidate="formnovalidate" name="action" value="add">Add</button> </p>
  <p> <button name="action" value="update">Save</button> </p>
 </form></pre>
 
@@ -52025,7 +52051,7 @@
    <p>The following number control limits input to whole numbers
    greater than zero:</p>
 
-   <pre><input name=quantity required type=number min=1 value=1></pre>
+   <pre><input name=quantity required="" type="number" min="1" value="1"></pre>
 
   </div>
 
@@ -52266,21 +52292,28 @@
 
   <h6 id=the-placeholder-attribute><span class=secno>4.10.7.3.10 </span>The <code title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code> attribute</h6>
 
-  <!-- similar text in the <textarea> section -->
+  <!-- substantially similar text in the <textarea> section -->
 
   <p>The <dfn id=attr-input-placeholder title=attr-input-placeholder><code>placeholder</code></dfn>
   attribute represents a <em>short</em> hint (a word or short phrase)
-  intended to aid the user with data entry. A hint could be a sample
-  value or a brief description of the expected format. The attribute,
-  if specified, must have a value that contains no U+000A LINE FEED
-  (LF) or U+000D CARRIAGE RETURN (CR) characters.</p>
+  intended to aid the user with data entry when the control has no
+  value. A hint could be a sample value or a brief description of the
+  expected format. The attribute, if specified, must have a value that
+  contains no U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR)
+  characters.</p>
 
-  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#attr-title>title</a></code> attribute is more appropriate.</p>
-
   <p>The <code title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>
   attribute should not be used as an alternative to a
-  <code><a href=#the-label-element>label</a></code>.</p>
+  <code><a href=#the-label-element>label</a></code>. For a longer hint or other advisory text, the
+  <code title=attr-title><a href=#attr-title>title</a></code> attribute is more
+  appropriate.</p>
 
+  <p class=note>These mechanisms are very similar but subtly
+  different: the hint given by the control's <code><a href=#the-label-element>label</a></code> is
+  shown at all times; the short hint given in the <code title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code> attribute is shown
+  before the user enters a value; and the hint in the <code title=attr-title><a href=#attr-title>title</a></code> attribute is shown when the user
+  requests further help.</p>
+
   <div class=impl>
 
   <p>User agents should present this hint to the user, after having
@@ -53801,6 +53834,25 @@
   is a <a href=#boolean-attribute>boolean attribute</a> used to control whether the text
   can be edited by the user or not.</p>
 
+  <div class=example>
+
+   <p>In this example, a text field is marked read-only because it
+   represents a read-only file:</p>
+
+   <pre>Filename: <code>/etc/bash.bashrc</code>
+<textarea name="buffer" readonly>
+# System-wide .bashrc file for interactive bash(1) shells.
+
+# To enable the settings / commands in this file for login shells as well,
+# this file has to be sourced in /etc/profile.
+
+# If not running interactively, don't do anything
+[ -z "$PS1" ] &amp;&amp; return
+
+...</textarea></pre>
+
+  </div>
+
   <div class=impl>
 
   <p><strong>Constraint validation</strong>: If the <code title=attr-textarea-readonly><a href=#attr-textarea-readonly>readonly</a></code> attribute is
@@ -53993,21 +54045,28 @@
   </div>
 
 
-  <!-- similar text in the <input> section -->
+  <!-- substantially similar text in the <input> section -->
 
   <p>The <dfn id=attr-textarea-placeholder title=attr-textarea-placeholder><code>placeholder</code></dfn>
-  attribute represents a hint (a word or short phrase) intended to aid
-  the user with data entry. A hint could be a sample value or a brief
-  description of the expected format. The attribute, if specified,
-  must have a value that contains no U+000A LINE FEED (LF) or U+000D
-  CARRIAGE RETURN (CR) characters.</p>
+  attribute represents a <em>short</em> hint (a word or short phrase)
+  intended to aid the user with data entry when the control has no
+  value. A hint could be a sample value or a brief description of the
+  expected format. The attribute, if specified, must have a value that
+  contains no U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR)
+  characters.</p>
 
-  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#attr-title>title</a></code> attribute is more appropriate.</p>
-
   <p>The <code title=attr-textarea-placeholder><a href=#attr-textarea-placeholder>placeholder</a></code>
   attribute should not be used as an alternative to a
-  <code><a href=#the-label-element>label</a></code>.</p>
+  <code><a href=#the-label-element>label</a></code>. For a longer hint or other advisory text, the
+  <code title=attr-title><a href=#attr-title>title</a></code> attribute is more
+  appropriate.</p>
 
+  <p class=note>These mechanisms are very similar but subtly
+  different: the hint given by the control's <code><a href=#the-label-element>label</a></code> is
+  shown at all times; the short hint given in the <code title=attr-textarea-placeholder><a href=#attr-textarea-placeholder>placeholder</a></code> attribute is
+  shown before the user enters a value; and the hint in the <code title=attr-title><a href=#attr-title>title</a></code> attribute is shown when the user
+  requests further help.</p>
+
   <div class=impl>
 
   <p>User agents should present this hint to the user, after having

Modified: index
===================================================================
--- index	2012-09-17 18:43:33 UTC (rev 7366)
+++ index	2012-09-17 18:55:53 UTC (rev 7367)
@@ -31790,19 +31790,19 @@
   unpaused, or it could be unpaused but stalled waiting for content to
   buffer.</p>
 
-  <hr><p>Each <a href=#media-element>media element</a> has a <span>list of newly
-  introduced cues</span>, which must be initially empty. Whenever a
+  <hr><p>Each <a href=#media-element>media element</a> has a <dfn id=list-of-newly-introduced-cues>list of newly
+  introduced cues</dfn>, which must be initially empty. Whenever a
   <a href=#text-track-cue>text track cue</a> is added to the <a href=#text-track-list-of-cues title="text track
   list of cues">list of cues</a> of a <a href=#text-track>text track</a> that
   is in the <a href=#list-of-text-tracks>list of text tracks</a> for a <a href=#media-element>media
   element</a>, that <a href=#text-track-cue title="text track cue">cue</a> must be
-  added to the <a href=#media-element>media element</a>'s <span>list of newly
-  introduced cues</span>. Whenever a <a href=#text-track>text track</a> is added
+  added to the <a href=#media-element>media element</a>'s <a href=#list-of-newly-introduced-cues>list of newly
+  introduced cues</a>. Whenever a <a href=#text-track>text track</a> is added
   to the <a href=#list-of-text-tracks>list of text tracks</a> for a <a href=#media-element>media
   element</a>, all of the <a href=#text-track-cue title="text track cue">cues</a>
   in that <a href=#text-track>text track</a>'s <a href=#text-track-list-of-cues title="text track list of
   cues">list of cues</a> must be added to the <a href=#media-element>media
-  element</a>'s <span>list of newly introduced cues</span>.</p>
+  element</a>'s <a href=#list-of-newly-introduced-cues>list of newly introduced cues</a>.</p>
 
   <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
@@ -31846,9 +31846,9 @@
 
    <li><p>Remove all the <a href=#text-track-cue title="text track cue">cues</a> in
    <var title="">missed cues</var> that are also in the <a href=#media-element>media
-   element</a>'s <span>list of newly introduced cues</span>, and
-   then empty the element's <span>list of newly introduced
-   cues</span>.</li>
+   element</a>'s <a href=#list-of-newly-introduced-cues>list of newly introduced cues</a>, and
+   then empty the element's <a href=#list-of-newly-introduced-cues>list of newly introduced
+   cues</a>.</li>
 
    <li><p>If the time was reached through the usual monotonic increase
    of the <a href=#current-playback-position>current playback position</a> during normal
@@ -32737,7 +32737,7 @@
 
   <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> {
+interface <dfn id=mediacontroller>MediaController</dfn> : <a href=#eventtarget>EventTarget</a> {
   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>;
@@ -32748,8 +32748,9 @@
   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>();
+  void <a href=#dom-mediacontroller-unpause title=dom-MediaController-unpause>unpause</a>();
+  void <a href=#dom-mediacontroller-play title=dom-MediaController-play>play</a>(); // calls play() on all media elements as well
 
            attribute double <a href=#dom-mediacontroller-defaultplaybackrate title=dom-MediaController-defaultPlaybackRate>defaultPlaybackRate</a>;
            attribute double <a href=#dom-mediacontroller-playbackrate title=dom-MediaController-playbackRate>playbackRate</a>;
@@ -32876,21 +32877,31 @@
 
    </dd>
 
-   <dt><var title="">controller</var> . <code title=dom-MediaController-play><a href=#dom-mediacontroller-play>play</a></code>()</dt>
+   <dt><var title="">controller</var> . <code title=dom-MediaController-pause><a href=#dom-mediacontroller-pause>pause</a></code>()</dt>
 
    <dd>
 
     <p>Sets the <code title=dom-MediaController-paused><a href=#dom-mediacontroller-paused>paused</a></code>
+    attribute to true.</p>
+
+   </dd>
+
+   <dt><var title="">controller</var> . <code title=dom-MediaController-unpause><a href=#dom-mediacontroller-unpause>unpause</a></code>()</dt>
+
+   <dd>
+
+    <p>Sets the <code title=dom-MediaController-paused><a href=#dom-mediacontroller-paused>paused</a></code>
     attribute to false.</p>
 
    </dd>
 
-   <dt><var title="">controller</var> . <code title=dom-MediaController-pause><a href=#dom-mediacontroller-pause>pause</a></code>()</dt>
+   <dt><var title="">controller</var> . <code title=dom-MediaController-play><a href=#dom-mediacontroller-play>play</a></code>()</dt>
 
    <dd>
 
     <p>Sets the <code title=dom-MediaController-paused><a href=#dom-mediacontroller-paused>paused</a></code>
-    attribute to true.</p>
+    attribute to false and invokes the <code title=dom-media-play><a href=#dom-media-play>play()</a></code> method of each <span>slaved
+    media element</span>.</p>
 
    </dd>
 
@@ -32972,7 +32983,10 @@
   controller</a> is that <code><a href=#mediacontroller>MediaController</a></code>. All the
   <a href=#slaved-media-elements>slaved media elements</a> of a <code><a href=#mediacontroller>MediaController</a></code>
   must use the same clock for their definition of their <a href=#media-timeline>media
-  timeline</a>'s unit time.</p>
+  timeline</a>'s unit time. When the user agent is required to act
+  on each <span>slaved media element</span> in turn, they must be
+  processed in the order that they were last associated with the
+  <code><a href=#mediacontroller>MediaController</a></code>.</p>
 
   <hr><p>The <dfn id=dom-media-controller title=dom-media-controller><code>controller</code></dfn> attribute
   on a <a href=#media-element>media element</a>, on getting, must return the
@@ -33097,15 +33111,20 @@
   <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>When the <dfn id=dom-mediacontroller-play title=dom-MediaController-play><code>play()</code></dfn> method is
-  invoked, if the <code><a href=#mediacontroller>MediaController</a></code> is a <a href=#paused-media-controller>paused media
-  controller</a>, the user agent must change the
+  <p>When the <dfn id=dom-mediacontroller-unpause title=dom-MediaController-unpause><code>unpause()</code></dfn>
+  method is invoked, if the <code><a href=#mediacontroller>MediaController</a></code> is a
+  <a href=#paused-media-controller>paused media controller</a>, the user agent must change the
   <code><a href=#mediacontroller>MediaController</a></code> into a <a href=#playing-media-controller>playing media
   controller</a>, <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
   event</a> named <code title=event-MediaController-play><a href=#event-mediacontroller-play>play</a></code> at the
   <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>When the <dfn id=dom-mediacontroller-play title=dom-MediaController-play><code>play()</code></dfn> method is
+  invoked, the user agent must invoke the <code title=dom-media-play><a href=#dom-media-play>play</a></code> method of each <span>slaved media
+  element</span> in turn, and then invoke the <code title=dom-MediaController-unpause><a href=#dom-mediacontroller-unpause>unpause</a></code> method 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
@@ -51730,6 +51749,13 @@
 
   </div>
 
+  <p class=note>The difference between <code title=attr-fe-disabled><a href=#attr-fe-disabled>disabled</a></code> and <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> is that read-only
+  controls are still focusable, so the user can still select the text
+  and interact with it, whereas disabled controls are entirely
+  non-interactive. (For this reason, only text controls can be made
+  read-only: it wouldn't make sense for checkboxes or buttons, for
+  instances.)</p>
+
   <div class=example>
 
    <p>In the following example, the existing product identifiers
@@ -51737,26 +51763,26 @@
    form, for consistency with the row representing a new product
    (where the identifier is not yet filled in).</p>
 
-   <pre><form action="products.cgi" method=post enctype="multipart/form-data">
+   <pre><form action="products.cgi" method="post" enctype="multipart/form-data">
  <table>
   <tr> <th> Product ID <th> Product name <th> Price <th> Action
   <tr>
-   <td> <input readonly name="1.pid" value="H412">
-   <td> <input required name="1.pname" value="Floor lamp Ulke">
-   <td> $<input required type=number min=0 step=0.01 name="1.pprice" value="49.99">
-   <td> <button formnovalidate name="action" value="delete:1">Delete</button>
+   <td> <input readonly="readonly" name="1.pid" value="H412">
+   <td> <input required="required" name="1.pname" value="Floor lamp Ulke">
+   <td> $<input required="required" type="number" min="0" step="0.01" name="1.pprice" value="49.99">
+   <td> <button formnovalidate="formnovalidate" name="action" value="delete:1">Delete</button>
   <tr>
-   <td> <input readonly name="2.pid" value="FG28">
-   <td> <input required name="2.pname" value="Table lamp Ulke">
-   <td> $<input required type=number min=0 step=0.01 name="2.pprice" value="24.99">
-   <td> <button formnovalidate name="action" value="delete:2">Delete</button>
+   <td> <input readonly="readonly" name="2.pid" value="FG28">
+   <td> <input required="required" name="2.pname" value="Table lamp Ulke">
+   <td> $<input required="required" type="number" min="0" step="0.01" name="2.pprice" value="24.99">
+   <td> <button formnovalidate="formnovalidate" name="action" value="delete:2">Delete</button>
   <tr>
-   <td> <input required name="3.pid" value="" pattern="[A-Z0-9]+">
-   <td> <input required name="3.pname" value="">
-   <td> $<input required type=number min=0 step=0.01 name="3.pprice" value="">
-   <td> <button formnovalidate name="action" value="delete:3">Delete</button>
+   <td> <input required="required" name="3.pid" value="" pattern="[A-Z0-9]+">
+   <td> <input required="required" name="3.pname" value="">
+   <td> $<input required="required" type="number" min="0" step="0.01" name="3.pprice" value="">
+   <td> <button formnovalidate="formnovalidate" name="action" value="delete:3">Delete</button>
  </table>
- <p> <button formnovalidate name="action" value="add">Add</button> </p>
+ <p> <button formnovalidate="formnovalidate" name="action" value="add">Add</button> </p>
  <p> <button name="action" value="update">Save</button> </p>
 </form></pre>
 
@@ -52025,7 +52051,7 @@
    <p>The following number control limits input to whole numbers
    greater than zero:</p>
 
-   <pre><input name=quantity required type=number min=1 value=1></pre>
+   <pre><input name=quantity required="" type="number" min="1" value="1"></pre>
 
   </div>
 
@@ -52266,21 +52292,28 @@
 
   <h6 id=the-placeholder-attribute><span class=secno>4.10.7.3.10 </span>The <code title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code> attribute</h6>
 
-  <!-- similar text in the <textarea> section -->
+  <!-- substantially similar text in the <textarea> section -->
 
   <p>The <dfn id=attr-input-placeholder title=attr-input-placeholder><code>placeholder</code></dfn>
   attribute represents a <em>short</em> hint (a word or short phrase)
-  intended to aid the user with data entry. A hint could be a sample
-  value or a brief description of the expected format. The attribute,
-  if specified, must have a value that contains no U+000A LINE FEED
-  (LF) or U+000D CARRIAGE RETURN (CR) characters.</p>
+  intended to aid the user with data entry when the control has no
+  value. A hint could be a sample value or a brief description of the
+  expected format. The attribute, if specified, must have a value that
+  contains no U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR)
+  characters.</p>
 
-  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#attr-title>title</a></code> attribute is more appropriate.</p>
-
   <p>The <code title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>
   attribute should not be used as an alternative to a
-  <code><a href=#the-label-element>label</a></code>.</p>
+  <code><a href=#the-label-element>label</a></code>. For a longer hint or other advisory text, the
+  <code title=attr-title><a href=#attr-title>title</a></code> attribute is more
+  appropriate.</p>
 
+  <p class=note>These mechanisms are very similar but subtly
+  different: the hint given by the control's <code><a href=#the-label-element>label</a></code> is
+  shown at all times; the short hint given in the <code title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code> attribute is shown
+  before the user enters a value; and the hint in the <code title=attr-title><a href=#attr-title>title</a></code> attribute is shown when the user
+  requests further help.</p>
+
   <div class=impl>
 
   <p>User agents should present this hint to the user, after having
@@ -53801,6 +53834,25 @@
   is a <a href=#boolean-attribute>boolean attribute</a> used to control whether the text
   can be edited by the user or not.</p>
 
+  <div class=example>
+
+   <p>In this example, a text field is marked read-only because it
+   represents a read-only file:</p>
+
+   <pre>Filename: <code>/etc/bash.bashrc</code>
+<textarea name="buffer" readonly>
+# System-wide .bashrc file for interactive bash(1) shells.
+
+# To enable the settings / commands in this file for login shells as well,
+# this file has to be sourced in /etc/profile.
+
+# If not running interactively, don't do anything
+[ -z "$PS1" ] &amp;&amp; return
+
+...</textarea></pre>
+
+  </div>
+
   <div class=impl>
 
   <p><strong>Constraint validation</strong>: If the <code title=attr-textarea-readonly><a href=#attr-textarea-readonly>readonly</a></code> attribute is
@@ -53993,21 +54045,28 @@
   </div>
 
 
-  <!-- similar text in the <input> section -->
+  <!-- substantially similar text in the <input> section -->
 
   <p>The <dfn id=attr-textarea-placeholder title=attr-textarea-placeholder><code>placeholder</code></dfn>
-  attribute represents a hint (a word or short phrase) intended to aid
-  the user with data entry. A hint could be a sample value or a brief
-  description of the expected format. The attribute, if specified,
-  must have a value that contains no U+000A LINE FEED (LF) or U+000D
-  CARRIAGE RETURN (CR) characters.</p>
+  attribute represents a <em>short</em> hint (a word or short phrase)
+  intended to aid the user with data entry when the control has no
+  value. A hint could be a sample value or a brief description of the
+  expected format. The attribute, if specified, must have a value that
+  contains no U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR)
+  characters.</p>
 
-  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#attr-title>title</a></code> attribute is more appropriate.</p>
-
   <p>The <code title=attr-textarea-placeholder><a href=#attr-textarea-placeholder>placeholder</a></code>
   attribute should not be used as an alternative to a
-  <code><a href=#the-label-element>label</a></code>.</p>
+  <code><a href=#the-label-element>label</a></code>. For a longer hint or other advisory text, the
+  <code title=attr-title><a href=#attr-title>title</a></code> attribute is more
+  appropriate.</p>
 
+  <p class=note>These mechanisms are very similar but subtly
+  different: the hint given by the control's <code><a href=#the-label-element>label</a></code> is
+  shown at all times; the short hint given in the <code title=attr-textarea-placeholder><a href=#attr-textarea-placeholder>placeholder</a></code> attribute is
+  shown before the user enters a value; and the hint in the <code title=attr-title><a href=#attr-title>title</a></code> attribute is shown when the user
+  requests further help.</p>
+
   <div class=impl>
 
   <p>User agents should present this hint to the user, after having

Modified: source
===================================================================
--- source	2012-09-17 18:43:33 UTC (rev 7366)
+++ source	2012-09-17 18:55:53 UTC (rev 7367)
@@ -34691,8 +34691,8 @@
 
   <hr>
 
-  <p>Each <span>media element</span> has a <span>list of newly
-  introduced cues</span>, which must be initially empty. Whenever a
+  <p>Each <span>media element</span> has a <dfn>list of newly
+  introduced cues</dfn>, which must be initially empty. Whenever a
   <span>text track cue</span> is added to the <span title="text track
   list of cues">list of cues</span> of a <span>text track</span> that
   is in the <span>list of text tracks</span> for a <span>media
@@ -35787,8 +35787,9 @@
   readonly attribute boolean <span title="dom-MediaController-paused">paused</span>;
   readonly attribute <span>MediaControllerPlaybackState</span> <span title="dom-MediaController-playbackState">playbackState</span>;
   readonly attribute <span>TimeRanges</span> <span title="dom-MediaController-played">played</span>;
-  void <span title="dom-MediaController-play">play</span>();
   void <span title="dom-MediaController-pause">pause</span>();
+  void <span title="dom-MediaController-unpause">unpause</span>();
+  void <span title="dom-MediaController-play">play</span>(); // calls play() on all media elements as well
 
            attribute double <span title="dom-MediaController-defaultPlaybackRate">defaultPlaybackRate</span>;
            attribute double <span title="dom-MediaController-playbackRate">playbackRate</span>;
@@ -35924,21 +35925,32 @@
 
    </dd>
 
-   <dt><var title="">controller</var> . <code title="dom-MediaController-play">play</code>()</dt>
+   <dt><var title="">controller</var> . <code title="dom-MediaController-pause">pause</code>()</dt>
 
    <dd>
 
     <p>Sets the <code title="dom-MediaController-paused">paused</code>
+    attribute to true.</p>
+
+   </dd>
+
+   <dt><var title="">controller</var> . <code title="dom-MediaController-unpause">unpause</code>()</dt>
+
+   <dd>
+
+    <p>Sets the <code title="dom-MediaController-paused">paused</code>
     attribute to false.</p>
 
    </dd>
 
-   <dt><var title="">controller</var> . <code title="dom-MediaController-pause">pause</code>()</dt>
+   <dt><var title="">controller</var> . <code title="dom-MediaController-play">play</code>()</dt>
 
    <dd>
 
     <p>Sets the <code title="dom-MediaController-paused">paused</code>
-    attribute to true.</p>
+    attribute to false and invokes the <code
+    title="dom-media-play">play()</code> method of each <span>slaved
+    media element</span>.</p>
 
    </dd>
 
@@ -36024,7 +36036,10 @@
   controller</span> is that <code>MediaController</code>. All the
   <span>slaved media elements</span> of a <code>MediaController</code>
   must use the same clock for their definition of their <span>media
-  timeline</span>'s unit time.</p>
+  timeline</span>'s unit time. When the user agent is required to act
+  on each <span>slaved media element</span> in turn, they must be
+  processed in the order that they were last associated with the
+  <code>MediaController</code>.</p>
 
   <hr>
 
@@ -36178,9 +36193,9 @@
   state</span> of the <code>MediaController</code>.</p>
 
   <p>When the <dfn
-  title="dom-MediaController-play"><code>play()</code></dfn> method is
-  invoked, if the <code>MediaController</code> is a <span>paused media
-  controller</span>, the user agent must change the
+  title="dom-MediaController-unpause"><code>unpause()</code></dfn>
+  method is invoked, if the <code>MediaController</code> is a
+  <span>paused media controller</span>, the user agent must change the
   <code>MediaController</code> into a <span>playing media
   controller</span>, <span>queue a task</span> to <span>fire a simple
   event</span> named <code
@@ -36188,6 +36203,14 @@
   <code>MediaController</code>, and then <span>report the controller
   state</span> of the <code>MediaController</code>.</p>
 
+  <p>When the <dfn
+  title="dom-MediaController-play"><code>play()</code></dfn> method is
+  invoked, the user agent must invoke the <code
+  title="dom-media-play">play</code> method of each <span>slaved media
+  element</span> in turn, and then invoke the <code
+  title="dom-MediaController-unpause">unpause</code> method of the
+  <code>MediaController</code>.</p>
+
   <p>The <dfn
   title="dom-MediaController-playbackState"><code>playbackState</code></dfn>
   attribute must return the value to which it was most recently set.
@@ -62989,15 +63012,6 @@
   contains no U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR)
   characters.</p>
 
-  <p>The <dfn
-  title="attr-textarea-placeholder"><code>placeholder</code></dfn>
-  attribute represents a <em>short</em> hint (a word or short phrase)
-  intended to aid the user with data entry when the control has no
-  value. A hint could be a sample value or a brief description of the
-  expected format. The attribute, if specified, must have a value that
-  contains no U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR)
-  characters.</p>
-
   <p>The <code title="attr-textarea-placeholder">placeholder</code>
   attribute should not be used as an alternative to a
   <code>label</code>. For a longer hint or other advisory text, the




More information about the Commit-Watchers mailing list