diff --git a/index.bs b/index.bs index 469078d..99a8323 100644 --- a/index.bs +++ b/index.bs @@ -49,39 +49,17 @@ table td, table th {
 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]]

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]]

  1. - Wait for the response. + Wait for the [=/response=].
  2. - If the response's internal response's type is default, attempt to decode the resource as + If the [=/response=]'s [=response/type=] + is {{ResponseType/"default"}}, attempt to decode the resource as an image.
  3. @@ -539,7 +479,7 @@ conforming IDL fragments, as described in the Web IDL specification. [[!WEBIDL]]
  4. Run the activation notification steps in the - browsing context associated with session. + [=/browsing context=] associated with session.

@@ -650,7 +590,7 @@ conforming IDL fragments, as described in the Web IDL specification. [[!WEBIDL]]
-

Position State

+

Position State

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:

@@ -874,7 +814,7 @@ interface MediaSession {

- The setPositionState(state) method, when invoked + The setPositionState(|state|) method, when invoked MUST perform the following steps: