diff --git a/source b/source index a229f2e5660..47cea845189 100644 --- a/source +++ b/source @@ -45350,9 +45350,8 @@ interface HTMLLabelElement : HTMLElement {
name
pattern
placeholder
-
popoverhidetarget
-
popovershowtarget
-
popovertoggletarget
+
popovertarget
+
popovertargetaction
readonly
required
size
@@ -45519,7 +45518,7 @@ interface HTMLInputElement : HTMLElement { // also has obsolete members }; -HTMLInputElement includes PopoverTargetElement; +HTMLInputElement includes PopoverInvokerElement;
Uses HTMLInputElement.
@@ -46200,7 +46199,7 @@ interface HTMLInputElement : HTMLElement { - popoverhidetarget + popovertarget · · @@ -46224,31 +46223,7 @@ interface HTMLInputElement : HTMLElement { - popovershowtarget - · - · - - · - · - · - · - - - - · - · - · - · - · - - · - Yes - Yes - Yes - - - - popovertoggletarget + popovertargetaction · · @@ -47196,9 +47171,8 @@ interface HTMLInputElement : HTMLElement { multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, readonly, required, size, @@ -47334,9 +47308,8 @@ interface HTMLInputElement : HTMLElement { max, min, multiple, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, src, step, and width.

@@ -47438,9 +47411,8 @@ interface HTMLInputElement : HTMLElement { max, min, multiple, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, src, step, and width.

@@ -47544,9 +47516,8 @@ interface HTMLInputElement : HTMLElement { max, min, multiple, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, src, step, and width.

@@ -47815,9 +47786,8 @@ ldh-str = < as defined in height, max, min, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, src, step, and width.

@@ -47914,9 +47884,8 @@ ldh-str = < as defined in
max, min, multiple, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, src, step, and width.

@@ -48090,9 +48059,8 @@ ldh-str = < as defined in
multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, size, src, and width.

@@ -48244,9 +48212,8 @@ ldh-str = < as defined in
multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, size, src, and width.

@@ -48402,9 +48369,8 @@ ldh-str = < as defined in
multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, size, src, and width.

@@ -48556,9 +48522,8 @@ ldh-str = < as defined in
multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, size, src, and width.

@@ -48703,9 +48668,8 @@ ldh-str = < as defined in
multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, size, src, and width.

@@ -48868,9 +48832,8 @@ ldh-str = < as defined in
minlength, multiple, pattern, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, size, src, and width.

@@ -49141,9 +49104,8 @@ ldh-str = < as defined in
multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, readonly, required, size, @@ -49250,9 +49212,8 @@ ldh-str = < as defined in multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, readonly, required, size, @@ -49367,9 +49328,8 @@ ldh-str = < as defined in multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, readonly, size, src, @@ -49545,9 +49505,8 @@ ldh-str = < as defined in multiple, pattern, placeholder, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, readonly, size, src, @@ -49798,9 +49757,8 @@ ldh-str = < as defined in min, minlength, pattern, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, placeholder, readonly, size, @@ -49886,9 +49844,8 @@ ldh-str = < as defined in formmethod, formnovalidate, formtarget, - popoverhidetarget, - popovershowtarget, and - popovertoggletarget content + popovertarget, and + popovertargetaction content attributes; value IDL attribute.

The value IDL attribute is in mode formnovalidate, formtarget, height, - popoverhidetarget, - popovershowtarget, - popovertoggletarget, + popovertarget, + popovertargetaction, src, and width content attributes; value IDL attribute.

@@ -50277,9 +50233,8 @@ ldh-str = < as defined in
apply to the element: - popoverhidetarget, - popovershowtarget, and - popovertoggletarget.

+ popovertarget and + popovertargetaction.

The following content attributes must not be specified and do not apply to the element: @@ -50363,9 +50318,8 @@ ldh-str = < as defined in apply to the element: - popoverhidetarget, - popovershowtarget, and - popovertoggletarget.

+ popovertarget and + popovertargetaction.

The following content attributes must not be specified and do not apply to the element: @@ -51945,9 +51899,8 @@ You cannot submit this form when the field is incorrect.

formnovalidate
formtarget
name
-
popoverhidetarget
-
popovershowtarget
-
popovertoggletarget
+
popovertarget
+
popovertargetaction
type
value
HTMLButtonElement : HTMLElement { readonly attribute NodeList labels; }; -HTMLButtonElement includes PopoverTargetElement; +HTMLButtonElement includes PopoverInvokerElement;
Uses HTMLButtonElement.
@@ -81822,21 +81775,21 @@ dictionary DragEventInit : MouseEventInit { content.

The popover attribute is an enumerated - attribute. The following table lists the states for this attribute:

+ attribute with the following keywords and states:

+ - - + - + data-x="attr-popover-auto">auto + @@ -81844,23 +81797,23 @@ dictionary DragEventInit : MouseEventInit { - + data-x="attr-popover-manual">manual +
Keyword StateKeywordsDescriptionBrief description
Auto state autoauto Closes other popovers when opened; has light dismiss.
The empty string
Manual state manualmanual Does not close other popovers; does not light dismiss.
-

The attribute may be omitted. The invalid value default - is the manual state. The missing value default is the no popover - state.

+

The popover attribute's invalid value default is the manual + state and its missing value default is the no popover state.

-

The popover IDL attribute - must reflect the popover attribute, limited - to only known values.

+

The popover IDL + attribute must reflect the popover attribute, + limited to only known values.

Every HTML element has a popover visibility state, initially hidden, with these potential @@ -81877,7 +81830,7 @@ dictionary DragEventInit : MouseEventInit {

The Document has an auto popover list, which is a list of all the elements in the Document's top layer whose popover attribute is in the auto state, in the same order.

+ data-x="attr-popover-auto-state">auto state, in the same order.

The Document has a popover pointerdown target, which is an HTML element or null, initially null.

@@ -81917,7 +81870,7 @@ dictionary DragEventInit : MouseEventInit {
Shows the popover element by adding it to the top layer. If element's popover attribute is in the auto state, then this will also close all other auto state, then this will also close all other auto popovers unless they are an ancestor of element according to the topmost popover ancestor algorithm.
@@ -81974,7 +81927,7 @@ dictionary DragEventInit : MouseEventInit {
  • If element's popover attribute is in the auto state, then:

    + data-x="attr-popover-auto-state">auto state, then:

    1. Let originalType be the value of element's DragEventInit : MouseEventInit {

    2. If shouldRestoreFocus is true and element's popover attribute is not in the no popover state, then set element's + data-x="attr-popover-none-state">no popover state, then set element's previously focused element to originallyFocusedElement.

    3. Queue a popover toggle event task given element, "DragEventInit : MouseEventInit {

    4. If element's popover attribute is in the auto state, then:

      + data-x="attr-popover-auto-state">auto state, then:

      1. Run hide all popovers until given @@ -82255,22 +82208,22 @@ dictionary DragEventInit : MouseEventInit {

        The topmost popover ancestor algorithm will return the topmost (latest in the auto popover list) ancestor popover for the provided popover. Popovers can be related to each other in several ways, creating a tree of popovers. There are two paths through - which one popover (call it the "child" popover) can have an ancestor popover (call it the + which one popover (call it the "child" popover) can have a topmost ancestor popover (call it the "parent" popover):

          -
        1. The popovers are nested within each other in the DOM tree. In this case, the descendant - popover is the "child" and its ancestor popover is the "parent".

        2. +
        3. The popovers are nested within each other in the node tree. In this case, the descendant + popover is the "child" and its topmost ancestor popover is the "parent".

        4. -
        5. An invoking element (e.g. a button) has one of the invoking attributes (e.g. - popovertoggletarget) pointing to a popover. In - this case, the popover is the "child", and the DOM-contained popover of the invoking element is - the "parent". The invoker must be in a popover and reference an open popover.

        6. +
        7. An invoking element (e.g., a button) has a popovertarget attribute pointing to a popover. In this case, + the popover is the "child", and the popover subtree the invoking element is in is the + "parent". The invoker has to be in a popover and reference an open popover.

        -

        In each of the relationships formed above, the parent popover must be strictly earlier in the - auto popover list than the child popover, or it does not form a valid ancestral - relationship. This eliminates non-showing popovers and self-pointers (e.g. a popover with an +

        In each of the relationships formed above, the parent popover has to be strictly earlier in + the auto popover list than the child popover, or it does not form a valid ancestral + relationship. This eliminates non-showing popovers and self-pointers (e.g., a popover with an anchor attribute that points back to the same popover), and it allows for the construction of a well-formed tree from the (possibly cyclic) graph of connections. For example, if two popovers have anchors pointing to each other, the only valid relationship is that the first one to open is @@ -82353,7 +82306,7 @@ dictionary DragEventInit : MouseEventInit {

        1. If currentNode's popover attribute is in - the auto state and currentNode's + the auto state and currentNode's popover visibility state is showing, then return currentNode.

        2. @@ -82410,7 +82363,7 @@ dictionary DragEventInit : MouseEventInit {
          1. If element's popover attribute is in the - no popover state, then:

            + no popover state, then:

            1. If throwExceptions is true, then throw a @@ -82451,72 +82404,95 @@ dictionary DragEventInit : MouseEventInit {

            2. Return true.

            -

            The popover target attributes

            +

            The popover target attributes

            -

            Buttons may have the following content attributes, known - as the popover target attributes:

            +

            Buttons may have the following content attributes:

            • popovertoggletarget

            • - -
            • popoverhidetarget

            • + data-x="attr-popovertarget">popovertarget

            • popovershowtarget

            • + data-x="attr-popovertargetaction">popovertargetaction

            -

            The popover target attributes allow certain types of buttons to show and hide - element with the popover attribute. If a popover target - attribute is specified, then that attribute's value must be the ID of element with the popover attribute.

            +

            If specified, the popovertarget attribute value must + be the ID of an element with a popover attribute in the same tree as the button with the popovertarget attribute.

            + +

            The popovertargetaction attribute is an + enumerated attribute with the following keywords and states:

            + + + + + + + + +
            Keyword + State + Brief description +
            toggle + toggle + Shows or hides the targeted popover element. +
            show + show + Shows the targeted popover element. +
            hide + hide + Hides the targeted popover element. +
            + +

            The popovertargetaction attribute's invalid value default and missing value default are both the toggle state.

            -

            The following shows how popovershowtarget can - be used to open a popover:

            +

            The following shows how the popovertarget attribute + in combination with the popovertargetaction + attribute can be used to show a popover:

            <div popover=auto id="foo">
               This is a popover!
             </div>
             
            -<button popovershowtarget="foo">
            +<button popovertarget="foo" popovertargetaction="show">
               Show a popover
             </button>
            -

            The following shows how popovertoggletarget +

            The following shows how the popovertarget attribute can open and close a manual popover, which can't be closed with light dismiss:

            <div popover=manual id="foo">
               This is a popover!
             </div>
             
            -<button popovertoggletarget="foo">
            +<button popovertarget="foo">
               Show or hide a popover
             </button>
            DOM interface: -
            interface mixin PopoverTargetElement {
            -  [CEReactions] attribute Element? popoverToggleTargetElement;
            -  [CEReactions] attribute Element? popoverHideTargetElement;
            -  [CEReactions] attribute Element? popoverShowTargetElement;
            +  
            interface mixin PopoverInvokerElement {
            +  [CEReactions] attribute Element? popoverTargetElement;
            +  [CEReactions] attribute DOMString popoverTargetAction;
             };

            The popoverToggleTargetElement IDL attribute must - reflect the popovertoggletarget - attribute.

            - -

            The popoverHideTargetElement IDL attribute must - reflect the popoverhidetarget - attribute.

            + data-x="dom-popoverTargetElement">popoverTargetElement
            IDL attribute must + reflect the popovertarget attribute.

            The popoverShowTargetElement IDL attribute must - reflect the popovershowtarget - attribute.

            + data-x="dom-popoverTargetAction">popoverTargetAction IDL attribute must + reflect the popovertargetaction + attribute, limited to only known values.

            To run the popover target attribute activation behavior given a Node node:

            @@ -82526,32 +82502,24 @@ dictionary DragEventInit : MouseEventInit {
          2. If popover is null, then return.

          3. -
          4. -

            If node doesn't have the popovertoggletarget attribute, then:

            - -
              -
            1. If node has a popovershowtarget attribute and popover's - popover visibility state is showing, - then return.

            2. +
            3. If node's popovertargetaction + attribute is in the show state and + popover's popover visibility state is showing, then return.

            4. -
            5. If node has a popoverhidetarget attribute and popover's - popover visibility state is hidden, - then return.

            6. -
            -
          5. +
          6. If node's popovertargetaction + attribute is in the hide state and + popover's popover visibility state is hidden, then return.

          7. If popover's popover visibility state is showing and the result of running check popover - validity given popover and true is true, then run the hide popover - algorithm given popover, true, true, and false.

          8. + data-x="popover-showing-state">showing, then run the hide popover algorithm + given popover, true, true, and false.

          9. Otherwise, if popover's popover visibility state is hidden and the result of running check popover - validity given popover and false is true:

            + validity given popover, false, and false is true:

            1. Set popover's popover invoker to node.

            2. @@ -82574,34 +82542,13 @@ dictionary DragEventInit : MouseEventInit {
            3. If node has a form owner and node is a submit button, then return null.

            4. -
            5. Let idref be null.

            6. - -
            7. If node has a popovertoggletarget attribute, then set - idref to the value of node's popovertoggletarget attribute.

            8. - -
            9. Otherwise, if node has a popovershowtarget attribute, then set idref - to the value of node's popovershowtarget attribute.

            10. - -
            11. Otherwise, if node has a popoverhidetarget attribute, then set idref - to the value of node's popoverhidetarget attribute.

            12. - -
            13. If idref is null, then return null.

            14. - -
            15. Let popoverElement be the first element in tree - order, within node's root's descendants, whose ID is - idref; otherwise, if there is no such element, null.

            16. +
            17. Let popoverElement be node's popovertarget-associated element.

            18. If popoverElement is null, then return null.

            19. If popoverElement's popover attribute is in - the no popover state, then return null.

            20. + the no popover state, then return null.

            21. Return popoverElement.

            @@ -82719,7 +82666,7 @@ dictionary DragEventInit : MouseEventInit {
          10. If targetPopover is not null and targetPopover's popover attribute is in the auto state and targetPopover's popover + data-x="attr-popover-auto-state">auto state and targetPopover's popover visibility state is showing, then return targetPopover.

          11. @@ -128660,9 +128607,8 @@ interface External { formnovalidate; formtarget; name; - popoverhidetarget; - popovershowtarget; - popovertoggletarget; + popovertarget; + popovertargetaction; type; value HTMLButtonElement @@ -129145,9 +129091,8 @@ interface External { name; pattern; placeholder; - popoverhidetarget; - popovershowtarget; - popovertoggletarget; + popovertarget; + popovertargetaction; readonly; required; size; @@ -131142,23 +131087,20 @@ interface External { popover HTML elements Makes the element a popover element - "auto"; - "manual"; - - popoverhidetarget - input; button - Hides the specified popover element when clicked - ID of the element to hide + "auto"; + "manual"; - popovershowtarget + popovertarget input; button - Shows the specified popover element when clicked - ID of the element to show + Targets a popover element to toggle, show, or hide + ID of the element to toggle, show or, hide - popovertoggletarget + popovertargetaction input; button - Toggles the specified popover element when clicked - ID of the element to toggle + Indicates whether a targeted popover element is to be toggled, shown, or hidden + "toggle"; + "show"; + "hide" poster video