From d96bf78c73d62afa09341e8712b3384f96c4e8cd Mon Sep 17 00:00:00 2001 From: Arron Eicholz Date: Mon, 16 May 2016 09:59:08 -0700 Subject: [PATCH] Remove mediagroup attribute (#358) --- sections/attributes.include | 6 - sections/elements.include | 2 - sections/semantics-embedded-content.include | 119 ++------------------ 3 files changed, 7 insertions(+), 120 deletions(-) diff --git a/sections/attributes.include b/sections/attributes.include index 98b42b9a8a..b01f7bd080 100644 --- a/sections/attributes.include +++ b/sections/attributes.include @@ -474,12 +474,6 @@ Applicable media Valid media query list - - mediagroup - <{audio}>; <{video}> - Groups media elements together with an implicit {{MediaController}} - Text - menu <{button}> diff --git a/sections/elements.include b/sections/elements.include index 2b60d53645..6e670ab582 100644 --- a/sections/elements.include +++ b/sections/elements.include @@ -111,7 +111,6 @@ <{media/crossorigin}>; <{media/preload}>; <{media/autoplay}>; - <{media/mediagroup}>; <{media/loop}>; <{media/muted}>; <{audio/controls}> @@ -1573,7 +1572,6 @@ <{video/poster}>; <{media/preload}>; <{media/autoplay}>; - <{media/mediagroup}>; <{media/loop}>; <{media/muted}>; <{video/controls}>; diff --git a/sections/semantics-embedded-content.include b/sections/semantics-embedded-content.include index b905faacba..d2686f4e76 100644 --- a/sections/semantics-embedded-content.include +++ b/sections/semantics-embedded-content.include @@ -5093,8 +5093,6 @@ attribute's value is a type that a plugin supports, then the value of the media resource will likely need
autoplay - Hint that the media resource can be started automatically when the page is loaded
-
mediagroup - Groups media elements - together with an implicit MediaController
loop - Whether to loop the media resource
muted - Whether to mute the media resource by default
<{video/controls}> - Show user agent controls
@@ -5135,7 +5133,7 @@ attribute's value is a type that a plugin supports, then the value of the and those with other physical or cognitive disabilities, a variety of features are available. Captions can be provided, either embedded in the video stream or as external files using the <{track}> element. Sign-language tracks can be provided, again either embedded in the - video stream or by synchronizing multiple <{video}> elements using the mediagroup attribute or a MediaController + video stream or using a MediaController object. Audio descriptions can be provided, either as a separate track embedded in the video stream, or a separate audio track in an <{audio}> element slaved to the same controller as the <{video}> element(s), or in text form using a WebVTT file referenced using the <{track}> element and @@ -5148,7 +5146,7 @@ attribute's value is a type that a plugin supports, then the value of the ostensibly video data, possibly with associated audio data. The src, preload, - autoplay, mediagroup, loop, muted, and <{video/controls}> + autoplay, loop, muted, and <{video/controls}> attributes are the attributes common to all media elements. The poster content attribute gives the address of an @@ -5430,8 +5428,6 @@ zero or more <{track}> elements, then media resource will likely need
autoplay - Hint that the media resource can be started automatically when the page is loaded
-
mediagroup - Groups media elements - together with an implicit MediaController
loop - Whether to loop the media resource
muted - Whether to mute the media resource by default
<{audio/controls}> - Show user agent controls
@@ -5472,7 +5468,7 @@ zero or more <{track}> elements, then ostensibly audio data. The src, preload, - autoplay, mediagroup, loop, muted, and <{audio/controls}> + autoplay, loop, muted, and <{audio/controls}> attributes are the attributes common to all media elements.
@@ -5978,7 +5974,6 @@ zero or more <{track}> elements, then void pause(); // media controller - attribute DOMString mediaGroup; attribute MediaController? controller; // controls @@ -5995,8 +5990,7 @@ zero or more <{track}> elements, then }; - The media element attributes, src, crossorigin, preload, autoplay, - mediagroup, loop, + The media element attributes, src, crossorigin, preload, autoplay, loop, muted, and <{mediaelements/controls}>, apply to all media elements. They are defined in this section. Media elements are used to present audio data, or video and @@ -9208,8 +9202,7 @@ zero or more <{track}> elements, then MediaController is an object that coordinates the playback of multiple media elements, for instance so that a sign-language interpreter track can be overlaid on a video track, with the two being kept synchronized. - By default, a media element has no MediaController. An implicit - MediaController can be assigned using the mediagroup content attribute. An explicit + By default, a media element has no MediaController. An explicit MediaController can be assigned directly using the controller IDL attribute. Media elements with a MediaController are said @@ -9285,8 +9278,6 @@ zero or more <{track}> elements, then Returns the current MediaController for the media element, if any, or null otherwise. - Can be set, to set an explicit MediaController. Doing so removes the mediagroup attribute, if any. -
controller . readyState
@@ -9450,14 +9441,11 @@ zero or more <{track}> elements, then
A media element can have a current media controller, which is a - MediaController object. When a media element is created without a mediagroup attribute, it does not have a current media - controller. (If it is created with such an attribute, then that attribute - initializes the current media controller, as defined below.) + MediaController object. The slaved media elements of a MediaController are the media elements whose current media controller is that MediaController. All the slaved media elements of a - MediaController must use the same clock for their definition of their media - timeline's unit time. When the user agent is required to act on each slaved media element in turn, they must be processed in the order that they + MediaController must use the same clock for their definition of their media timeline's unit time. When the user agent is required to act on each slaved media element in turn, they must be processed in the order that they were last associated with the MediaController.
@@ -9477,9 +9465,6 @@ zero or more <{track}> elements, then
  • Let m have no current media controller, if it currently has one.
  • -
  • Remove the element's mediagroup content - attribute, if any.
  • -
  • If the new value is null, then jump to the update controllers step below.
  • Let m's current media controller be the new @@ -9931,96 +9916,6 @@ zero or more <{track}> elements, then
  • -
    Assigning a media controller declaratively
    - - The mediagroup content attribute on media elements can be used to link multiple media elements together by implicitly creating a MediaController. The - value is text; media elements with the same value are - automatically linked by the user agent. - -
    - - When a media element is created with a mediagroup attribute, and when a media element's - mediagroup attribute is set, changed, or removed, the - user agent must run the following steps: - -
      - -
    1. Let m be the media element in question.
    2. - -
    3. Let old controller be m's current media - controller, if it currently has one, and null otherwise.
    4. - -
    5. Let new controller be null.
    6. - -
    7. Let m have no current media controller, if it currently - has one.
    8. - -
    9. If m's mediagroup attribute - is being removed, then jump to the update controllers step below.
    10. - -
    11. - - If there is another media element whose {{Document}} is the same as - m's node document (even if one or both of these elements are not - actually in the Document), and which - also has a mediagroup attribute, and whose mediagroup attribute has the same value as the new value of - m's mediagroup attribute, then - let controller be that media element's current media - controller. - - Otherwise, let controller be a newly created - MediaController. - -
    12. - -
    13. Let m's current media controller be controller.
    14. - -
    15. Let new controller be m's current media - controller.
    16. - -
    17. Bring the media element up to speed with its new media - controller.
    18. - -
    19. Update controllers: If old - controller and new controller are the - same (whether both null or both the same controller) then abort - these steps.
    20. - -
    21. If old controller is not null and still has one or more slaved - media elements, then report the controller state for old - controller.
    22. - -
    23. If new controller is not null, then report the controller - state for new controller.
    24. - -
    - - The mediaGroup IDL attribute on media elements must reflect the mediagroup content attribute. - -
    - -
    - Multiple media elements referencing the same media - resource will share a single network request. This can be used to efficiently play two - (video) tracks from the same media resource in two different places on the screen. - Used with the mediagroup attribute, these elements can - also be kept synchronized. - - In this example, a sign-language interpreter track from a movie file is overlaid on the primary - video track of that same video file using two <{video}> elements, some CSS, and an - implicit MediaController: - -
    -<article>
    -  <div style="margin: 1em auto; position: relative; width: 400px; height: 300px;">
    -  <video style="position; absolute; bottom: 0; right: 0; width: 100%; height: 100%;" src="movie.vid#track=Video&amp;track=English" autoplay controls mediagroup=movie></video>
    -  <video style="position; absolute; bottom: 0; right: 0; width: 30%;" src="movie.vid#track=sign" autoplay mediagroup=movie></video>
    -  </div>
    -</article>
    -    
    - -
    -
    Timed text tracks
    Text track model