diff --git a/source b/source index 2a9abc4157c..5018e21764c 100644 --- a/source +++ b/source @@ -62304,14 +62304,8 @@ interface HTMLDialogElement : HTMLElement {
Add an open attribute to this, whose
value is the empty string.
Assert: this's node document's open - dialogs list does not contain - this.
Add this to this's node document's open - dialogs list.
Set the dialog close watcher with this.
Assert: this's close + watcher is not null.
Set this's previously focused element to the focused element.
The dialog HTML element removing steps, given removedNode
- and oldParent, are:
The dialog HTML element insertion steps, given
+ insertedNode, are:
If removedNode's close watcher is not - null, then:
+If insertedNode's node document is not fully active, + then return.
Destroy removedNode's close watcher.
If insertedNode has an open attribute
+ and is connected, then run the dialog setup steps given
+ insertedNode.
Set removedNode's close watcher to - null.
The dialog HTML element removing steps, given removedNode
+ and oldParent, are:
If removedNode has an open attribute,
+ then run the dialog cleanup steps given removedNode.
If removedNode's node document's top layer contains removedNode, then remove an element from the top layer immediately given removedNode.
Set is modal of removedNode to false.
The following attribute change
+ steps, given element, localName, oldValue,
+ value, and namespace are used for dialog elements:
If namespace is not null, then return.
Remove removedNode from - removedNode's node document's open dialogs list.
If localName is not open, then
+ return.
If element's node document is not fully active, then + return.
If value is null and oldValue is not null, then run the + dialog cleanup steps given element.
If element is not connected, then return.
+ +This ensures that the dialog setup steps are not run on nodes that are + disconnected, which would result in a close watcher being established. The + dialog cleanup steps need no such guard.
+If value is not null and oldValue is null, then run the + dialog setup steps given element.
To show a modal dialog given a dialog element subject and an
@@ -62521,14 +62542,10 @@ interface HTMLDialogElement : HTMLElement {
Add an open attribute to subject, whose
value is the empty string.
Set is modal of subject to true.
Assert: subject's node document's open - dialogs list does not contain - subject.
Assert: subject's close + watcher is not null.
Add subject to subject's node document's open - dialogs list.
Set is modal of subject to true.
Set subject's node document to be contain subject, then add an element to the top layer given subject.
Set the dialog close watcher with subject.
Set subject's previously focused element to the focused element.
Assert: dialog's + close watcher is not null.
Assert: dialog has an open
+ attribute and dialog's node document is fully active.
Set dialog's close watcher to the result of establishing a close watcher given @@ -62694,9 +62716,6 @@ interface HTMLDialogElement : HTMLElement {
Set is modal of subject to false.
Remove subject from subject's - node document's open dialogs list.
If result is not null, then set subject's returnValue attribute to result.
Queue an element task on the user interaction task source given the
subject element to fire an event named
close at subject.
If subject's close watcher is not null, - then:
- -Destroy subject's close watcher.
Set subject's close watcher to - null.
To request to close dialog element
@@ -62747,6 +62753,9 @@ interface HTMLDialogElement : HTMLElement {
If subject does not have an open
attribute, then return.
If subject is not connected or subject's + node document is not fully active, then return.
Assert: subject's close watcher is not null.
Set topDocument's autofocus processed flag to true.
The dialog setup steps, given a dialog element subject, are
+ as follows:
Assert: subject has an open
+ attribute.
Assert: subject is connected.
Assert: subject's node document's open dialogs + list does not contain subject.
Add subject to subject's node document's open + dialogs list.
Set the dialog close watcher with subject.
The dialog cleanup steps, given a dialog element subject,
+ are as follows:
Remove subject from subject's + node document's open dialogs list.
If subject's close watcher is not + null, then:
+ +Destroy subject's close watcher.
Set subject's close watcher to + null.
"Light dismiss" means that clicking outside of a dialog element whose