@@ -53652,6 +53652,11 @@ interface <dfn interface>HTMLButtonElement</dfn> : <span>HTMLElement</span> {
5365253652 data-x="attr-button-command-close"><code>close</code></dfn>
5365353653 <td><dfn data-x="attr-button-command-close-state">Close</dfn>
5365453654 <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.
5365553660 <tr>
5365653661 <td><dfn attr-value for="html-global/command"
5365753662 data-x="attr-button-command-show-modal"><code>show-modal</code></dfn>
@@ -62344,25 +62349,10 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
6234462349 are:</p>
6234562350
6234662351 <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-
6235662352 <li><p>If <var>returnValue</var> is not given, then set it to null.</p></li>
6235762353
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>
6236662356 </ol>
6236762357
6236862358 <div class="note" id="note-dialog-method-names">
@@ -62439,8 +62429,15 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
6243962429 <p>Each <code>dialog</code> element has a <dfn>request close return value</dfn>, which is a
6244062430 string, initially null.</p>
6244162431
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>
6244462441
6244562442 <p>Each <code>dialog</code> element has an <dfn>is modal</dfn> boolean, initially false.</p>
6244662443
@@ -62585,22 +62582,21 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
6258562582 value</span>.</p></li>
6258662583
6258762584 <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
6259162587 data-x="attr-dialog-closedby-none-state">None</span>; otherwise false.</p></li>
6259262588 </ul>
6259362589 </li>
6259462590 </ol>
6259562591
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>
6259862594
6259962595 <ol>
6260062596 <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>
6260462600
6260562601 <li><p>Return false.</p></li>
6260662602 </ol>
@@ -62613,17 +62609,17 @@ interface <dfn interface>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
6261362609 <li><p>If <var>element</var> is in the <span
6261462610 data-x="popover-showing-state">popover showing</span> state, then return.</p></li>
6261562611
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>
6262362617
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>
6262762623
6262862624 <li><p>If <var>command</var> is the <span
6262962625 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> {
6272762723 </li>
6272862724 </ol>
6272962725
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+
6273062749 </div>
6273162750
6273262751 <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> {
144236144255 "<code data-x="attr-button-command-show-popover">show-popover</code>";
144237144256 "<code data-x="attr-button-command-hide-popover">hide-popover</code>";
144238144257 "<code data-x="attr-button-command-close">close</code>";
144258+ "<code data-x="attr-button-command-request-close">request-close</code>";
144239144259 "<code data-x="attr-button-command-show-modal">show-modal</code>";
144240144260 a <span data-x="attr-button-command-custom">custom command keyword</span>
144241144261 <tr>
0 commit comments