[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" ] && 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" ] && 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