From 1fb712d2a7fc098e21ab6053622bac466dda1748 Mon Sep 17 00:00:00 2001
From: Marcos Caceres
In order to make play and
pause actions work properly,
- the user agent SHOULD be able to determine if a browsing context of
+ the user agent SHOULD be able to determine if a [=/browsing context=] of
the active media session is playing media or not, which is called
the guessed playback state. The RECOMMENDED way for determining
the guessed playback state is to monitor the media elements whose
- node document's browsing context is the browsing context. The
- browsing context's guessed playback state is playing if any of them is
- potentially playing and not muted, and is guessed playback state is {{MediaSessionPlaybackState/"playing"}}
+ if any of them is potentially playing and not muted, and is paused otherwise. Other information
SHOULD also be considered, such as WebAudio and plugins.
- The playbackState attribute specifies
- the declared playback state from the browsing context. The
+ The {{MediaSession/playbackState}} attribute specifies
+ the declared playback state from the [=/browsing context=]. The
state is combined with the guessed playback state to compute the
actual playback state, which is a finalized state and will be
used for
@@ -276,7 +216,7 @@ conforming IDL fragments, as described in the Web IDL specification. [[!WEBIDL]]
There could be multiple {{MediaSession}} objects existing at the same time
since the user agent could have multiple tabs, each tab could contain a
top-level browsing context and multiple nested browsing
- contexts, and each browsing context could have a {{MediaSession}}
+ contexts, and each [=/browsing context=] could have a {{MediaSession}}
object.
The user agent MUST select at most one of the {{MediaSession}} objects to
@@ -287,7 +227,7 @@ conforming IDL fragments, as described in the Web IDL specification. [[!WEBIDL]]
routing. It only takes effect for the active media session.
It is RECOMMENDED that the user agent selects the active media
- session by managing audio focus. A tab or browsing context
+ session by managing audio focus. A tab or [=Window/browsing context=]
is said to have audio focus if it is currently playing audio or
the user expects to control the media in it. The AudioFocus API targets this
area and could be used once it's finished.
@@ -355,11 +295,11 @@ conforming IDL fragments, as described in the Web IDL specification. [[!WEBIDL]]
urlPrefix: https://html.spec.whatwg.org/multipage/; spec: HTML
+ type:element; text:link
type: dfn
- urlPrefix: common-microsyntaxes.html
- text: unordered set of unique space-separated tokens; url: #unordered-set-of-unique-space-separated-tokens
urlPrefix: media.html
- text: media element
text: muted; url: #concept-media-muted
text: potentially playing
- urlPrefix: browsers.html
- text: browsing context
urlPrefix: webappapis.html
text: entry settings object
- urlPrefix: semantics.html
- text: link; for: HTMLLinkElement; url:#the-link-element
urlPrefix: interaction.html
text: activation notification
-urlPrefix: https://fetch.spec.whatwg.org/; spec: FETCH
- type: dfn; urlPrefix: #concept-
- text: fetch
- text: internal response
- text: response
- text: response type
type: dfn;
text: force Origin header flag
-urlPrefix: https://tc39.es/ecma262/#sec-object.; spec: WEBIDL;
- type: dfn
- text: freeze
-urlPrefix: https://www.w3.org/TR/permissions-policy-1/; spec: PermissionsPolicy
- type: dfn;
- text: policy-controlled feature; url:#policy-controlled-feature
- text: default allowlist; url:#policy-controlled-feature-default-allowlist
-urlPrefix: https://html.spec.whatwg.org/multipage/dom.html; spec: dom
- type: dfn
- text: permissions policy; url:#concept-document-permissions-policy
Introduction
@@ -96,43 +74,6 @@ aims to enable web pages to specify the media metadata to be displayed in
platform UI, and respond to media controls which may come from platform UI or
media keys, thereby improving the user experience.
-Conformance
-
-All diagrams, examples, and notes in this specification are non-normative, as
-are all sections explicitly marked non-normative. Everything else in this
-specification is normative.
-
-The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
-"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
-document are to be interpreted as described in RFC 2119. For readability, these
-words do not appear in all uppercase letters in this specification. [[!RFC2119]]
-
-Requirements phrased in the imperative as part of algorithms (such as "strip any
-leading space characters" or "return false and terminate these steps") are to be
-interpreted with the meaning of the key word ("must", "should", "may", etc) used
-in introducing the algorithm.
-
-Conformance requirements phrased as algorithms or specific steps may be
-implemented in any manner, so long as the end result is equivalent. (In
-particular, the algorithms defined in this specification are intended to be easy
-to follow, and not intended to be performant.)
-
-User agents may impose implementation-specific limits on otherwise unconstrained
-inputs, e.g. to prevent denial of service attacks, to guard against running out
-of memory, or to work around platform-specific limitations.
-
-When a method or an attribute is said to call another method or attribute, the
-user agent must invoke its internal API for that attribute or method so that
-e.g. the author can't change the behavior by overriding attributes or methods
-with custom properties or functions in JavaScript.
-
-Unless otherwise stated, string comparisons use [=is|is identical to=].
-
-Dependencies
-
-The IDL fragments in this specification must be interpreted as required for
-conforming IDL fragments, as described in the Web IDL specification. [[!WEBIDL]]
-
Security and Privacy
Considerations
@@ -219,21 +160,20 @@ conforming IDL fragments, as described in the Web IDL specification. [[!WEBIDL]]
A user agent MAY display the current playback position and @@ -683,7 +623,7 @@ conforming IDL fragments, as described in the Web IDL specification. [[!WEBIDL]]
The RECOMMENDED way to determine the position state is to monitor the media elements whose node document's browsing context is the - browsing context. + [=/browsing context=].
@@ -829,14 +769,14 @@ interface MediaSession {
The playbackState
attribute represents the declared playback state of the media
- session, by which the session declares whether its browsing context
+ session, by which the session declares whether its [=/browsing context=]
is playing media or not. The initial value is none. On setting, the user agent MUST set
the IDL attribute to the new value if it is a valid
{{MediaSessionPlaybackState}} value. On getting, the user agent MUST return
the last valid value that was set. The {{MediaSession/playbackState}}
- attribute is a hint for the user agent to determine whether the browsing
- context is playing or paused.
+ attribute is a hint for the user agent to determine whether the [=/browsing
+ context=] is playing or paused.
@@ -846,23 +786,23 @@ interface MediaSession {
The {{MediaSessionPlaybackState}} enum is used to indicate whether a - browsing context is playing media or not, the values are described as + [=/browsing context=] is playing media or not, the values are described as follows:
- The setPositionState(state) method, when invoked + The setPositionState(|state|) method, when invoked MUST perform the following steps:
sizes
attribute in
-the HTML
-link
element, which is a string
-consisting of an unordered set of unique space-separated tokens which are
-ASCII case-insensitive that represents the dimensions of an image. Each
-keyword is either an ASCII case-insensitive match for the string "any",
+spec of <{link/sizes}> attribute in
+the HTML <{link}> element, which is a string
+consisting of an [=unordered set of unique space-separated tokens=] which are
+[=ASCII case-insensitive=] that represents the dimensions of an image. Each
+keyword is either an [=ASCII case-insensitive=] match for the string "any",
or a value that consists of two valid non-negative integers that do not have a
leading U+0030 DIGIT ZERO (0) character and that are separated by a single
U+0078 LATIN SMALL LETTER X or U+0058 LATIN CAPITAL LETTER X character. The
@@ -1282,8 +1221,8 @@ When the media session action is