From ed9223eee8f515b22ed9dbba5e28b6d2183c6e3f Mon Sep 17 00:00:00 2001
From: Luke Warlow
The following attribute change
+ steps, given element, localName, oldValue,
+ value, and namespace are used for dialog
elements:
If namespace is not null, then return.
If localName is not open
, then
+ return.
If value is null:
+ +Remove element from element's + node document's open dialogs list.
If element's close watcher is not + null, then:
+ +Destroy element's close watcher.
Set element's close watcher to + null.
To show a modal dialog given a dialog
element subject:
Assert: dialog's close + watcher is null.
Set dialog's close watcher to the
result of establishing a close watcher given
From d0178b6b120fcdc117d6f2b3e0088eb5c6dfeed2 Mon Sep 17 00:00:00 2001
From: Luke Warlow
Assert: dialog's close - watcher is null.
If dialog's close watcher is not + null, then return.
Set dialog's close watcher to the
From 4773fbed8aebcbc6538f25210341b3bbc9bbdc7f Mon Sep 17 00:00:00 2001
From: Luke Warlow Add an 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. Set this's previously focused element to the
focused element. If localName is not If value is null: If value is null and oldValue is not null: Assert: element's node document's open
+ dialogs list contains
+ element. Remove element from element's
node document's open dialogs list.open
attribute to this, whose
value is the empty string.open
, then
return.
+
If value is not null and oldValue is null:
+ +Assert: element's node document's open + dialogs list does not contain + element.
Add element to this's node document's open + dialogs list.
Set the dialog close watcher with element.
To show a modal dialog given a dialog
element subject:
Set is modal of subject to true.
Assert: subject's node document's open - dialogs list does not contain - subject.
Add subject to subject's node document's open - dialogs list.
Let subject's node document be blocked by the modal dialog subject.
@@ -62513,8 +62515,6 @@ interface HTMLDialogElement : HTMLElement { already 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.
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 the 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.
Assert: element's node document's open - dialogs list contains - element.
Remove element from element's node document's open dialogs list.
If localName is not open
, then
return.
If value is null and oldValue is not null:
- -Assert: element's node document's open - dialogs list contains element.
Remove element from element's - node document's open dialogs list.
If element's close watcher is not - null, then:
- -Destroy element's close watcher.
Set element's close watcher to - null.
If value is not null and oldValue is null:
- -Assert: element's node document's open - dialogs list does not contain - element.
Add element to this's node document's open - dialogs list.
If value is null, oldValue is not null, and element is + connected, then run the dialog cleanup steps given + element.
Set the dialog close watcher with element.
If value is not null, oldValue is null, and element is + connected, then run the dialog setup steps given + element.
To show a modal dialog given a dialog
element subject:
Set topDocument's autofocus processed flag to true.
The dialog setup steps, given a dialog
element subject, are
+ as follows:
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:
Assert: subject's node document's open dialogs + list contains element.
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 If removedNode's close watcher is not
- null, then: If removedNode has an Destroy removedNode's close watcher. Set removedNode's close watcher to
- null. Run the dialog cleanup steps given removedNode.dialog
element whose
Date: Tue, 25 Feb 2025 16:03:41 +0000
Subject: [PATCH 06/12] Call dialog cleanup steps from dialog removing steps
---
source | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/source b/source
index c750da58d20..36a879b1ce5 100644
--- a/source
+++ b/source
@@ -62384,15 +62384,11 @@ interface HTMLDialogElement : HTMLElement {
open
+ attribute:
-
Set is modal of removedNode to false.
Remove removedNode from - removedNode's node document's open dialogs list.
The following attribute change
From 2b8bce669d940967c64da544773fadbe12963f6b Mon Sep 17 00:00:00 2001
From: Luke Warlow The If insertedNode has an Run the dialog setup steps given insertedNode. The If removedNode has an If removedNode has an Run the dialog cleanup steps given removedNode.dialog
HTML element insertion steps, given
+ insertedNode, are:
+
+
open
attribute:
+
+ dialog
HTML element removing steps, given removedNode
and oldParent, are:
open
- attribute:open
attribute:
If dialog's close watcher is not - null, then return.
Assert: dialog's close + watcher is null.
Set dialog's close watcher to the
From b5cc2c5ef8d1d747e9d8b04ee7f0b7e2f6904aef Mon Sep 17 00:00:00 2001
From: Luke Warlow
Assert: dialog's close - watcher is null.
If dialog's close watcher is not + null, then return.
Set dialog's close watcher to the
From 42db713ef16bcbeb57a61b47bdc6c9cb814725b9 Mon Sep 17 00:00:00 2001
From: Luke Warlow If insertedNode has an If insertedNode is connected and insertedNode has an Run the dialog setup steps given insertedNode. If insertedNode is connected and insertedNode has an If insertedNode has an Run the dialog setup steps given insertedNode. If localName is not If value is null, oldValue is not null, and element is
- connected, then run the dialog cleanup steps given
- element. If value is null, and oldValue is not null, then run the
+ dialog cleanup steps given element. If value is not null, oldValue is null, and element is
- connected, then run the dialog setup steps given
- element. If value is not null, and oldValue is null, then run the
+ dialog setup steps given element. To show a modal dialog given a
open
attribute:open
attribute:
open
attribute:open
attribute:
open
, then
return.dialog
element subject:
Set the dialog close watcher with subject.
If subject is not connected, return.
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:
Assert: subject's node document's open dialogs - list contains element.
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.
Remove subject from subject's node document's open dialogs list.
If subject's close watcher is not null,
+ and subject does not have an open
attribute,
+ then:
Destroy subject's close watcher.
Set subject's close watcher to + null.