@@ -53652,6 +53652,11 @@ interface <dfn interface>HTMLButtonElement</dfn> : <span>HTMLElement</span> {
53652
53652
data-x="attr-button-command-close"><code>close</code></dfn>
53653
53653
<td><dfn data-x="attr-button-command-close-state">Close</dfn>
53654
53654
<td>Closes the targeted <code>dialog</code> element.
53655
+ <tr>
53656
+ <td><dfn attr-value for="html-global/command"
53657
+ data-x="attr-button-command-request-close"><code>request-close</code></dfn>
53658
+ <td><dfn data-x="attr-button-command-request-close-state">Request Close</dfn>
53659
+ <td>Requests to close the targeted <code>dialog</code> element.
53655
53660
<tr>
53656
53661
<td><dfn attr-value for="html-global/command"
53657
53662
data-x="attr-button-command-show-modal"><code>show-modal</code></dfn>
@@ -62344,25 +62349,10 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
62344
62349
are:</p>
62345
62350
62346
62351
<ol>
62347
- <li><p>If <span>this</span> does not have an <code data-x="attr-dialog-open">open</code>
62348
- attribute, then return.</p></li>
62349
-
62350
- <li><p><span>Assert</span>: <span>this</span>'s <span data-x="dialog-close-watcher">close
62351
- watcher</span> is not null.</p></li>
62352
-
62353
- <li><p>Set <var>dialog</var>'s <span>enable close watcher for <code
62354
- data-x="dom-dialog-requestClose">requestClose()</code></span> to true.</p></li>
62355
-
62356
62352
<li><p>If <var>returnValue</var> is not given, then set it to null.</p></li>
62357
62353
62358
- <li><p>Set <span>this</span>'s <span>request close return value</span> to
62359
- <var>returnValue</var>.</p></li>
62360
-
62361
- <li><p><span data-x="close-watcher-request-close">Request to close</span> <var>dialog</var>'s
62362
- <span data-x="dialog-close-watcher">close watcher</span> with false.</p></li>
62363
-
62364
- <li><p>Set <var>dialog</var>'s <span>enable close watcher for <code
62365
- data-x="dom-dialog-requestClose">requestClose()</code></span> to false.</p></li>
62354
+ <li><p><span data-x="dialog-request-close">Request to close the dialog</span> <span>this</span>
62355
+ with <var>returnValue</var>.</p></li>
62366
62356
</ol>
62367
62357
62368
62358
<div class="note" id="note-dialog-method-names">
@@ -62439,8 +62429,15 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
62439
62429
<p>Each <code>dialog</code> element has a <dfn>request close return value</dfn>, which is a
62440
62430
string, initially null.</p>
62441
62431
62442
- <p>Each <code>dialog</code> element has an <dfn>enable close watcher for <code
62443
- data-x="dom-dialog-requestClose">requestClose()</code></dfn> boolean, initially false.</p>
62432
+ <p>Each <code>dialog</code> element has an <dfn
62433
+ id="enable-close-watcher-for-requestclose()">enable close watcher for request close</dfn> boolean,
62434
+ initially false.</p>
62435
+
62436
+ <p class="note"><code>dialog</code>'s <span>enable close watcher for request close</span> is used
62437
+ to force enable the dialog's <span data-x="dialog-close-watcher">close watcher</span> while <span
62438
+ data-x="dialog-request-close">requesting to close</span> it. A dialog whose <span>computed
62439
+ closed-by state</span> is the <span data-x="attr-dialog-closedby-none-state">None</span> state
62440
+ would otherwise have a disabled <span data-x="dialog-close-watcher">close watcher</span>.</p>
62444
62441
62445
62442
<p>Each <code>dialog</code> element has an <dfn>is modal</dfn> boolean, initially false.</p>
62446
62443
@@ -62585,22 +62582,21 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
62585
62582
value</span>.</p></li>
62586
62583
62587
62584
<li><p><i data-x="create-close-watcher-getEnabledState">getEnabledState</i> being to return
62588
- true if <var>dialog</var>'s <span>enable close watcher for <code
62589
- data-x="dom-dialog-requestClose">requestClose()</code></span> is true or <var>dialog</var>'s
62590
- <span>computed closed-by state</span> is not <span
62585
+ true if <var>dialog</var>'s <span>enable close watcher for request close</span> is true or
62586
+ <var>dialog</var>'s <span>computed closed-by state</span> is not <span
62591
62587
data-x="attr-dialog-closedby-none-state">None</span>; otherwise false.</p></li>
62592
62588
</ul>
62593
62589
</li>
62594
62590
</ol>
62595
62591
62596
- <p>The <span>is valid invoker command steps</span> for <code>dialog</code> elements, given
62597
- a <code data-x="attr-button-command">command</code> attribute <var>command</var>, are:</p>
62592
+ <p>The <span>is valid invoker command steps</span> for <code>dialog</code> elements, given a <code
62593
+ data-x="attr-button-command">command</code> attribute <var>command</var>, are:</p>
62598
62594
62599
62595
<ol>
62600
62596
<li><p>If <var>command</var> is in the <span
62601
- data-x="attr-button-command-close-state">Close</span> state or in the <span
62602
- data-x="attr-button-command-show-modal -state">Show Modal </span> state, then
62603
- return true.</p></li>
62597
+ data-x="attr-button-command-close-state">Close</span> state, <span
62598
+ data-x="attr-button-command-request-close -state">Request Close </span> state, or the <span
62599
+ data-x="attr-button-command-show-modal-state">Show Modal</span> state, then return true.</p></li>
62604
62600
62605
62601
<li><p>Return false.</p></li>
62606
62602
</ol>
@@ -62613,17 +62609,17 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
62613
62609
<li><p>If <var>element</var> is in the <span
62614
62610
data-x="popover-showing-state">popover showing</span> state, then return.</p></li>
62615
62611
62616
- <li>
62617
- <p>If <var>command</var> is in the <span data-x="attr-button-command-close-state">Close</span>
62618
- state and <var>element</var> has an <code data-x="attr-dialog-open">open</code> attribute:</p>
62619
-
62620
- <ol>
62621
- <li><p>Let <var>value</var> be <var>invoker</var>'s <span
62622
- data-x="concept-fe-optional-value">optional value</span>.</p></li>
62612
+ <li><p>If <var>command</var> is in the <span
62613
+ data-x="attr-button-command-close-state">Close</span> state and <var>element</var> has an <code
62614
+ data-x="attr-dialog-open">open</code> attribute, then <span>close the dialog</span>
62615
+ <var>element</var> with <var>invoker</var>'s <span data-x="concept-fe-optional-value">optional
62616
+ value</span>.</p></li>
62623
62617
62624
- <li><p><span>Close the dialog</span> <var>element</var> with <var>value</var>.</p></li>
62625
- </ol>
62626
- </li>
62618
+ <li><p>If <var>command</var> is in the <span
62619
+ data-x="attr-button-command-request-close-state">Request Close</span> state and
62620
+ <var>element</var> has an <code data-x="attr-dialog-open">open</code> attribute, then <span
62621
+ data-x="dialog-request-close">request to close the dialog</span> <var>element</var> with
62622
+ <var>invoker</var>'s <span data-x="concept-fe-optional-value">optional value</span>.</p></li>
62627
62623
62628
62624
<li><p>If <var>command</var> is the <span
62629
62625
data-x="attr-button-command-show-modal-state">Show Modal</span> state and <var>element</var> does
@@ -62727,6 +62723,29 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
62727
62723
</li>
62728
62724
</ol>
62729
62725
62726
+ <p>To <dfn data-x="dialog-request-close">request to close</dfn> <code>dialog</code> element
62727
+ <var>subject</var>, given null or a string <var>returnValue</var>:</p>
62728
+
62729
+ <ol>
62730
+ <li><p>If <var>subject</var> does not have an <code data-x="attr-dialog-open">open</code>
62731
+ attribute, then return.</p></li>
62732
+
62733
+ <li><p><span>Assert</span>: <var>subject</var>'s <span data-x="dialog-close-watcher">close
62734
+ watcher</span> is not null.</p></li>
62735
+
62736
+ <li><p>Set <var>subject</var>'s <span>enable close watcher for request close</span> to
62737
+ true.</p></li>
62738
+
62739
+ <li><p>Set <var>subject</var>'s <span>request close return value</span> to
62740
+ <var>returnValue</var>.</p></li>
62741
+
62742
+ <li><p><span data-x="close-watcher-request-close">Request to close</span> <var>subject</var>'s
62743
+ <span data-x="dialog-close-watcher">close watcher</span> with false.</p></li>
62744
+
62745
+ <li><p>Set <var>subject</var>'s <span>enable close watcher for request close</span> to
62746
+ false.</p></li>
62747
+ </ol>
62748
+
62730
62749
</div>
62731
62750
62732
62751
<p>To <dfn>queue a dialog toggle event task</dfn> given a <code>dialog</code> element
@@ -144236,6 +144255,7 @@ interface <dfn interface>External</dfn> {
144236
144255
"<code data-x="attr-button-command-show-popover">show-popover</code>";
144237
144256
"<code data-x="attr-button-command-hide-popover">hide-popover</code>";
144238
144257
"<code data-x="attr-button-command-close">close</code>";
144258
+ "<code data-x="attr-button-command-request-close">request-close</code>";
144239
144259
"<code data-x="attr-button-command-show-modal">show-modal</code>";
144240
144260
a <span data-x="attr-button-command-custom">custom command keyword</span>
144241
144261
<tr>
0 commit comments