You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At no point prior does show() assert or guard the document being connected. This can result in a disconnected dialog being in the open dialogs list. Removing open and calling show() again will hit the assert on Step 7, which if implemented precisely would cause a crash.
letd=document.createElement('dialog');d.show()// In the open dialogs list!d.open=false;d.show()// Assert fails!
The reason this fails is because Dialog has no attribute changed steps to remove a Dialog from the open dialogs list. This is solved by #10954 which aligns the behaviour closer to Chrome.
Chrome's impl is divergent from the spec because Chrome's flow goes something like:
What is the issue with the HTML Standard?
Step 8 of
show()
:At no point prior does
show()
assert or guard the document being connected. This can result in a disconnected dialog being in the open dialogs list. Removingopen
and callingshow()
again will hit the assert on Step 7, which if implemented precisely would cause a crash.The reason this fails is because Dialog has no attribute changed steps to remove a Dialog from the open dialogs list. This is solved by #10954 which aligns the behaviour closer to Chrome.
Chrome's impl is divergent from the spec because Chrome's flow goes something like:
open
attributeopen
attribute is being added, and the element is connected./cc @lukewarlow @mfreed7
The text was updated successfully, but these errors were encountered: