From 21886e7aab35b5e914d368874acc8982e9572f12 Mon Sep 17 00:00:00 2001 From: Luke Warlow Date: Mon, 27 Jan 2025 20:28:20 +0000 Subject: [PATCH] Add attribute changed steps to dialog element When the dialogs open attribute is removed: 1. Remove dialog from the document's open dialogs list. 2. Destroy and nullify dialog's close watcher This also adds an assertion to the start of 'set the dialog close watcher' that dialog's close watcher is null. --- source | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/source b/source index d0d75d360ce..a7089d03d8b 100644 --- a/source +++ b/source @@ -61801,6 +61801,37 @@ interface HTMLDialogElement : HTMLElement { data-x="attr-hidden">hidden attribute to hide it.

+

The following attribute change + steps, given element, localName, oldValue, + value, and namespace are used for dialog elements:

+ +
    +
  1. If namespace is not null, then return.

  2. + +
  3. If localName is not open, then + return.

  4. + +
  5. If value is null:

    + +
      +
    1. Remove element from element's + node document's open dialogs list.

    2. + +
    3. If element's close watcher is + not null, then:

      + +
        +
      1. Destroy element's close watcher.

      2. + +
      3. Set element's close watcher to + null.

      4. +
      +
    4. +
    +
  6. +
+

The tabindex attribute must not be specified on dialog elements.

@@ -62051,6 +62082,9 @@ interface HTMLDialogElement : HTMLElement { element dialog:

    +
  1. Assert: dialog's close + watcher is null.

  2. +
  3. Set dialog's close watcher to the result of establishing a close watcher given