Skip to content

Commit ea851d1

Browse files
committed
Add "hide all popovers" algorithm
This was requested for cross referencing instead of "hide all popovers until" here: whatwg/fullscreen#204 (comment) This patch also fixes a bug where a null endpoint is passed to hide all popovers until, but hide all popovers until assumes endpoint is not null by looking for endpoint's node document. The bug is fixed by adding a required document parameter to hide all popovers until.
1 parent 69998ed commit ea851d1

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

source

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59600,8 +59600,8 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
5960059600
and a boolean <var>isModal</var>, are as follows:</p>
5960159601

5960259602
<ol>
59603-
<li><p>Run <span data-x="hide-all-popovers-until">hide all popovers until</span> given null,
59604-
false, and false.</p></li>
59603+
<li><p>Run <span>hide all popovers</span> given <var>subject</var>'s <span>node
59604+
document</span>.</p></li>
5960559605

5960659606
<li><p>Let <var>control</var> be null.</p></li>
5960759607

@@ -81438,7 +81438,8 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8143881438
ancestor</span> algorithm given <var>element</var>.</p></li>
8143981439

8144081440
<li><p>Run <span data-x="hide-all-popovers-until">hide all popovers until</span> given
81441-
<var>ancestor</var>, false, and false.</p></li>
81441+
<var>ancestor</var>'s <span>node document</span>, <var>ancestor</var>, false, and
81442+
false.</p></li>
8144281443

8144381444
<li>
8144481445
<p>If <var>originalType</var> is not equal to the value of <var>element</var>'s <code
@@ -81564,8 +81565,8 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8156481565

8156581566
<ol>
8156681567
<li><p>Run <span data-x="hide-all-popovers-until">hide all popovers until</span> given
81567-
<var>element</var>, <var>focusPreviousElement</var>, and
81568-
<var>dontFireEvents</var>.</p></li>
81568+
<var>element</var>'s <span>node document</span>, <var>element</var>,
81569+
<var>focusPreviousElement</var>, and <var>dontFireEvents</var>.</p></li>
8156981570

8157081571
<li>
8157181572
<p>If <var>element</var> is not in <var>document</var>'s <span>auto popover list</span>:</p>
@@ -81655,13 +81656,12 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8165581656
given <span>this</span> and true.</p></li>
8165681657
</ol>
8165781658

81658-
<p>To <dfn data-x="hide-all-popovers-until">hide all popovers until</dfn>, given an <span
81659-
data-x="HTML elements">HTML element</span> <var>endpoint</var>, a boolean
81660-
<var>focusPreviousElement</var>, and a boolean <var>dontFireEvents</var>:</p>
81659+
<p>To <dfn data-x="hide-all-popovers-until">hide all popovers until</dfn>, given a
81660+
<code>Document</code> <var>document</var>, an <span data-x="HTML elements">HTML element</span> or
81661+
null <var>endpoint</var>, a boolean <var>focusPreviousElement</var>, and a boolean
81662+
<var>dontFireEvents</var>:</p>
8166181663

8166281664
<ol>
81663-
<li><p>Let <var>document</var> be <var>endpoint</var>'s <span>node document</span>.</p></li>
81664-
8166581665
<li>
8166681666
<p>Let <var>closeAllOpenPopovers</var> be an algorithm which performs the following steps:</p>
8166781667

@@ -81723,6 +81723,10 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8172381723
happens. For example, during light-dismiss of a popover, this algorithm ensures that we close only
8172481724
the popovers that aren't related to the node clicked by the user.</p>
8172581725

81726+
<p>To <dfn export>hide all popovers</dfn>, given a <code>Document</code> <var>document</var>, run
81727+
<span data-x="hide-all-popovers-until">hide all popovers until</span> given <var>document</var>,
81728+
null, false, and false.</p>
81729+
8172681730
<p>To find the <dfn>topmost popover ancestor</dfn>, given a <code>Node</code>
8172781731
<var>newPopover</var>, perform the following steps. They return an <span data-x="HTML
8172881732
elements">HTML element</span> or null.</p>
@@ -82121,7 +82125,8 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8212182125
<li><p>Set <var>document</var>'s <span>popover pointerdown target</span> to null.</p></li>
8212282126

8212382127
<li><p>If <var>sameTarget</var> is true, then run <span data-x="hide-all-popovers-until">hide
82124-
all popovers until</span> given <var>ancestor</var>, false, and false.</p></li>
82128+
all popovers until</span> given <var>ancestor</var>'s <span>node document</span>,
82129+
<var>ancestor</var>, false, and false.</p></li>
8212582130
</ol>
8212682131
</li>
8212782132
</ol>

0 commit comments

Comments
 (0)