@@ -61121,8 +61121,11 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
61121
61121
<li><p>Set <span>this</span>'s <span>previously focused element</span> to the
61122
61122
<span>focused</span> element.</p></li>
61123
61123
61124
- <li><p>Run <span>hide all popovers</span> given <span>this</span>'s <span>node
61125
- document</span>.</p></li>
61124
+ <li><p>Let <var>hideUntil</var> be the result of running <span>topmost popover ancestor</span>
61125
+ given <span>this</span>, null, and false.</p></li>
61126
+
61127
+ <li><p>Run <span data-x="hide-all-popovers-until">hide all popovers until</span> given
61128
+ <var>hideUntil</var>, false, and true.</p></li>
61126
61129
61127
61130
<li><p>Run the <span>dialog focusing steps</span> given <span>this</span>.</p></li>
61128
61131
</ol>
@@ -61184,8 +61187,11 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
61184
61187
<li><p>Set <span>this</span>'s <span>previously focused element</span> to the
61185
61188
<span>focused</span> element.</p></li>
61186
61189
61187
- <li><p>Run <span>hide all popovers</span> given <span>this</span>'s <span>node
61188
- document</span>.</p></li>
61190
+ <li><p>Let <var>hideUntil</var> be the result of running <span>topmost popover ancestor</span>
61191
+ given <span>this</span>, null, and false.</p></li>
61192
+
61193
+ <li><p>Run <span data-x="hide-all-popovers-until">hide all popovers until</span> given
61194
+ <var>hideUntil</var>, false, and true.</p></li>
61189
61195
61190
61196
<li><p>Run the <span>dialog focusing steps</span> given <span>this</span>.</p></li>
61191
61197
</ol>
@@ -84446,7 +84452,7 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
84446
84452
data-x="popover-showing-state">showing</span>; otherwise false.</p></li>
84447
84453
</ol>
84448
84454
84449
- <p>To <dfn data-x="hide-all-popovers-until">hide all popovers until</dfn>, given an <span
84455
+ <p>To <dfn export data-x="hide-all-popovers-until">hide all popovers until</dfn>, given an <span
84450
84456
data-x="HTML elements">HTML element</span> or <code>Document</code> <var>endpoint</var>, a boolean
84451
84457
<var>focusPreviousElement</var>, and a boolean <var>fireEvents</var>:</p>
84452
84458
@@ -84538,10 +84544,10 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
84538
84544
<span data-x="hide-all-popovers-until">hide all popovers until</span> given <var>document</var>,
84539
84545
false, and false.</p>
84540
84546
84541
- <p>To find the <dfn>topmost popover ancestor</dfn>, given a <code>Node</code>
84542
- <var>newPopover </var>, and an <span data-x="HTML elements">HTML element</span> or null
84543
- <var>invoker</var>, perform the following steps. They return an <span data-x="HTML
84544
- elements">HTML element</span> or null.</p>
84547
+ <p>To find the <dfn export >topmost popover ancestor</dfn>, given a <code>Node</code>
84548
+ <var>newPopoverOrTopLayerElement </var>, an <span data-x="HTML elements">HTML element</span> or
84549
+ null <var>invoker</var>, and a boolean <var>isPopover</var>, perform the following steps. They
84550
+ return an <span data-x="HTML elements">HTML element</span> or null.</p>
84545
84551
84546
84552
<div class="note">
84547
84553
<p>The <span>topmost popover ancestor</span> algorithm will return the topmost (latest in the
@@ -84569,11 +84575,38 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
84569
84575
</div>
84570
84576
84571
84577
<ol>
84578
+ <li>
84579
+ <p>If <var>isPopover</var> is true:</p>
84580
+
84581
+ <ol>
84582
+ <li><p><span>Assert</span>: <var>newPopoverOrTopLayerElement</var> is an <span data-x="HTML
84583
+ elements">HTML element</span>.</p></li>
84584
+
84585
+ <li><p><span>Assert</span>: <var>newPopoverOrTopLayerElement</var>'s <code
84586
+ data-x="attr-popover">popover</code> attribute is not in the <span
84587
+ data-x="attr-popover-none-state">no popover state</span> or the <span
84588
+ data-x="attr-popover-manual-state">manual</span> state.</p></li>
84589
+
84590
+ <li><p><span>Assert</span>: <var>newPopoverOrTopLayerElement</var>'s <span>popover visibility
84591
+ state</span> is not in the <span data-x="popover-showing-state">popover showing
84592
+ state</span>.</p></li>
84593
+ </ol>
84594
+ </li>
84595
+
84596
+ <li>
84597
+ <p>Otherwise:</p>
84598
+
84599
+ <ol>
84600
+ <li><p><span>Assert</span>: <var>invoker</var> is null.</p></li>
84601
+ </ol>
84602
+ </li>
84603
+
84572
84604
<li><p>Let <var>popoverPositions</var> be an empty <span>ordered map</span>.</p></li>
84573
84605
84574
84606
<li><p>Let <var>index</var> be 0.</p></li>
84575
84607
84576
- <li><p>Let <var>document</var> be <var>newPopover</var>'s <span>node document</span>.</p></li>
84608
+ <li><p>Let <var>document</var> be <var>newPopoverOrTopLayerElement</var>'s <span>node
84609
+ document</span>.</p></li>
84577
84610
84578
84611
<li>
84579
84612
<p>For each <var>popover</var> of <var>document</var>'s <span>showing auto popover
@@ -84587,8 +84620,8 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
84587
84620
</ol>
84588
84621
</li>
84589
84622
84590
- <li><p>< span data-x="map set">Set</span> <var>popoverPositions</var>[<var>newPopover</var>] to
84591
- <var>index</var>.</p></li>
84623
+ <li><p>If <var>isPopover</var> is true, then < span data-x="map set">Set</span>
84624
+ <var>popoverPositions</var>[<var>newPopoverOrTopLayerElement</var>] to <var> index</var>.</p></li>
84592
84625
84593
84626
<li><p>Increment <var>index</var> by 1.</p></li>
84594
84627
@@ -84616,8 +84649,8 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
84616
84649
</ol>
84617
84650
</li>
84618
84651
84619
- <li><p>Run <var>checkAncestor</var> given <var>newPopover </var>'s parent node within the
84620
- <span>flat tree</span>.</p></li>
84652
+ <li><p>Run <var>checkAncestor</var> given <var>newPopoverOrTopLayerElement </var>'s parent node
84653
+ within the <span>flat tree</span>.</p></li>
84621
84654
84622
84655
<li><p>Run <var>checkAncestor</var> given <var>invoker</var>.</p></li>
84623
84656
0 commit comments