diff --git a/source b/source index c09d97c6242..b9c76a17359 100644 --- a/source +++ b/source @@ -4192,6 +4192,12 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
  • 'content-visibility' property
  • 'auto' value for 'content-visibility'
  • + +

    The following terms are defined in CSS Anchor Positioning: CSSANCHOR

    + + @@ -11924,12 +11930,20 @@ interface HTMLElement : Element { ElementInternals attachInternals(); // The popover API - undefined showPopover(); + undefined showPopover(optional ShowPopoverOptions options = {}); undefined hidePopover(); - boolean togglePopover(optional boolean force); + boolean togglePopover(optional (TogglePopoverOptions or boolean) options = {}); [CEReactions] attribute DOMString? popover; }; +dictionary ShowPopoverOptions { + HTMLElement source; +}; + +dictionary TogglePopoverOptions : ShowPopoverOptions { + boolean force; +}; + HTMLElement includes GlobalEventHandlers; HTMLElement includes ElementContentEditable; HTMLElement includes HTMLOrSVGElement; @@ -85525,8 +85539,17 @@ dictionary DragEventInit : MouseEventInit { false. -

    The showPopover() - method steps are to run show popover given this, true, and null.

    +

    The showPopover(options) method steps are:

    + +
      +
    1. Let invoker be options["source"] if it exists; otherwise, null.

    2. + +
    3. Run show popover given this, true, and + invoker.

    4. +

    To show popover, given an HTML element element, a boolean throwExceptions, and an HTML @@ -85655,6 +85678,9 @@ dictionary DragEventInit : MouseEventInit {

  • Set element's popover invoker to invoker.

  • +
  • Set element's implicit anchor element to + invoker.

  • +
  • Run the popover focusing steps given element.

  • If shouldRestoreFocus is true and element's DragEventInit : MouseEventInit {

  • Request an element to be removed from the top layer given element.

  • + +
  • Set element's implicit anchor element to null.

  • @@ -85839,16 +85867,28 @@ dictionary DragEventInit : MouseEventInit {

    The togglePopover(force) method steps are:

    + data-x="dom-togglePopover">togglePopover(options)
    method steps are:

      +
    1. Let force be null.

    2. + +
    3. If options is a boolean, set force to options.

    4. + +
    5. Otherwise, if options["force"] exists, + set force to options["force"].

    6. + +
    7. Let invoker be options["source"] if it exists; otherwise, null.

    8. +
    9. If this's popover visibility state is showing, and force is not present or false, then - run the hide popover algorithm given this, true, true, and - true.

    10. + data-x="popover-showing-state">showing, and force is null or false, then run + the hide popover algorithm given this, true, true, and true.

      -
    11. Otherwise, if force is not present or true, then run show popover - given this, true, and null.

    12. +
    13. Otherwise, if force is null or true, then run show popover given + this, true, and invoker.

    14. Otherwise:

      @@ -144547,6 +144587,9 @@ INSERT INTERFACES HERE
      [CSSALIGN]
      CSS Box Alignment, E. Etemad, T. Atkins. W3C.
      +
      [CSSANCHOR]
      +
      CSS Anchor Positioning, T. Atkins, E. Etemad, I. Kilpatrick. W3C.
      +
      [CSSANIMATIONS]
      CSS Animations, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C.