From 1eca429a8220b13c717e9f856ab0f65602ec4578 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. # Conflicts: # source --- source | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/source b/source index 61f30552fe3..8a16120df71 100644 --- a/source +++ b/source @@ -62110,6 +62110,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 @@ -62222,6 +62225,38 @@ interface HTMLDialogElement : HTMLElement { removedNode's node document's open dialogs list.

+

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. +
+

When a dialog element subject is to be closed, with null or a string result, run these steps: