Skip to content

Commit 5545634

Browse files
authored
Stop defining volumechange in terms of public API
cf4109f made it so that technically the muted content attribute and playing backwards would result in a volumechange event. That was not intentional. This restores those aspects to before that commit and also modernizes the editorial style of the concepts involved.
1 parent f7b4402 commit 5545634

1 file changed

Lines changed: 58 additions & 21 deletions

File tree

source

Lines changed: 58 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -43366,14 +43366,41 @@ red:89
4336643366
Initially, the volume should be 1.0, but user agents may remember the last set value across
4336743367
sessions, on a per-site basis or otherwise, so the volume may start at other values.</p>
4336843368

43369+
<div algorithm>
43370+
<p>To <dfn export>set the playback volume</dfn> of a <span>media element</span>
43371+
<var>element</var> to a number <var>value</var>:</p>
43372+
43373+
<ol>
43374+
<li><p>If <var>element</var>'s <span data-x="concept-media-volume">playback volume</span> equals
43375+
<var>value</var>, then return.</p></li>
43376+
43377+
<li><p>Set <var>element</var>'s <span data-x="concept-media-volume">playback volume</span> to
43378+
<var>value</var>.</p></li>
43379+
43380+
<li><p>If <var>element</var> is not <span>allowed to play</span>, then run the <span>internal
43381+
pause steps</span> for <var>element</var>.</p></li>
43382+
43383+
<li><p><span>Queue a media element task</span> given <var>element</var> to <span
43384+
data-x="concept-event-fire">fire an event</span> named <code
43385+
data-x="event-media-volumechange">volumechange</code> at <var>element</var>.</p></li>
43386+
</ol>
43387+
</div>
43388+
4336943389
<div algorithm>
4337043390
<p>The <dfn attribute for="HTMLMediaElement"><code data-x="dom-media-volume">volume</code></dfn>
43371-
IDL attribute must return the <span data-x="concept-media-volume">playback volume</span> of any
43372-
audio portions of the <span>media element</span>. On setting, if the new value is in the range 0.0
43373-
to 1.0 inclusive, the <span>media element</span>'s <span data-x="concept-media-volume">playback
43374-
volume</span> must be set to the new value. If the new value is outside the range 0.0 to 1.0
43375-
inclusive, then, on setting, an <span>"<code>IndexSizeError</code>"</span>
43376-
<code>DOMException</code> must be thrown instead.</p>
43391+
getter steps are to return <span>this</span>'s <span data-x="concept-media-volume">playback
43392+
volume</span>.</p>
43393+
</div>
43394+
43395+
<div algorithm>
43396+
<p>The <code data-x="dom-media-volume">volume</code> setter steps are:</p>
43397+
43398+
<ol>
43399+
<li><p>If the given value is not in the range 0.0 to 1.0 inclusive, then throw an
43400+
<span>"<code>IndexSizeError</code>"</span> <code>DOMException</code>.</p></li>
43401+
43402+
<li><p><span>Set the playback volume</span> of <span>this</span> to the given value.</p></li>
43403+
</ol>
4337743404
</div>
4337843405

4337943406
<p>A <span>media element</span> is <dfn for="media element" data-x="concept-media-muted"
@@ -43394,29 +43421,39 @@ red:89
4339443421

4339543422
<p>Each <span>media element</span> has a <dfn data-x="concept-media-muted-state">muted
4339643423
state</dfn>, which is either true, false, or "<code data-x="">default</code>"; it is initially "<code
43397-
data-x="">default</code>". User agents may set a <span>media element</span>'s <span
43398-
data-x="concept-media-muted-state">muted state</span> to true or false (e.g., remembering the last
43399-
set value across sessions, on a per-site basis or otherwise).</p>
43424+
data-x="">default</code>". User agents may <span>set the muted state</span> of a <span>media
43425+
element</span> to true or false (e.g., remembering the last set value across sessions, on a
43426+
per-site basis or otherwise).</p>
4340043427

4340143428
<div algorithm>
43402-
<p>The <dfn attribute for="HTMLMediaElement"><code data-x="dom-media-muted">muted</code></dfn>
43403-
getter steps are to return true if this is <span
43404-
data-x="concept-media-muted">muted</span>; otherwise false.</p>
43429+
<p>To <dfn export>set the muted state</dfn> of a <span>media element</span> <var>element</var> to
43430+
a boolean <var>value</var>:</p>
43431+
43432+
<ol>
43433+
<li><p>If <var>element</var>'s <span data-x="concept-media-muted-state">muted state</span>
43434+
equals <var>value</var>, then return.</p></li>
43435+
43436+
<li><p>Set <var>element</var>'s <span data-x="concept-media-muted-state">muted state</span> to
43437+
<var>value</var>.</p></li>
43438+
43439+
<li><p>If <var>element</var> is not <span>allowed to play</span>, then run the <span>internal
43440+
pause steps</span> for <var>element</var>.</p></li>
43441+
43442+
<li><p><span>Queue a media element task</span> given <var>element</var> to <span
43443+
data-x="concept-event-fire">fire an event</span> named <code
43444+
data-x="event-media-volumechange">volumechange</code> at <var>element</var>.</p></li>
43445+
</ol>
4340543446
</div>
4340643447

4340743448
<div algorithm>
43408-
<p>The <code data-x="dom-media-muted">muted</code> setter steps are to set this's
43409-
<span data-x="concept-media-muted-state">muted state</span> to the given value.</p>
43449+
<p>The <dfn attribute for="HTMLMediaElement"><code data-x="dom-media-muted">muted</code></dfn>
43450+
getter steps are to return true if <span>this</span> is <span
43451+
data-x="concept-media-muted">muted</span>; otherwise false.</p>
4341043452
</div>
4341143453

4341243454
<div algorithm>
43413-
<p>Whenever either of the values that would be returned by the <code
43414-
data-x="dom-media-volume">volume</code> and <code data-x="dom-media-muted">muted</code> IDL
43415-
attributes change, the user agent must <span>queue a media element task</span> given the
43416-
<span>media element</span> to <span data-x="concept-event-fire">fire an event</span> named <code
43417-
data-x="event-media-volumechange">volumechange</code> at the <span>media element</span>. Then, if
43418-
the <span>media element</span> is not <span>allowed to play</span>, the user agent must run the
43419-
<span>internal pause steps</span> for the <span>media element</span>.</p>
43455+
<p>The <code data-x="dom-media-muted">muted</code> setter steps are to <span>set the muted
43456+
state</span> of <span>this</span> to the given value.</p>
4342043457
</div>
4342143458

4342243459
<p>A user agent has an associated <dfn>volume locked</dfn> (a boolean). Its value is

0 commit comments

Comments
 (0)