1. Open the attached example. 2. Click Move nodes. 3. Notice how DOMNodeRemovedFromDocument is even for elements that are still part of the DOM. The code iterates on the children of the removed node. If one of the children is moved while handling its DOMNodeRemovedFromDocument event, the runtime will continue from its new location and send the events to all the nodes using the new location.
Created attachment 215954 [details] Test case
Mass move bugs into the DOM component.
*** Safari 16.5.1 *** DOMNodeRemovedFromDocument for target_element DOMNodeRemovedFromDocument for element1 DOMNodeRemovedFromDocument for element2 DOMNodeRemovedFromDocument for element3 DOMNodeRemovedFromDocument for element3 DOMNodeRemovedFromDocument for element_that_is_not_removed DOMNodeRemovedFromDocument for log *** Chrome Canary 117 *** DOMNodeRemovedFromDocument for target_element DOMNodeRemovedFromDocument for element1 DOMNodeRemovedFromDocument for element2 DOMNodeRemovedFromDocument for element3 DOMNodeRemovedFromDocument for element3 DOMNodeRemovedFromDocument for element_that_is_not_removed DOMNodeRemovedFromDocument for log ________ Firefox Nightly 117 didn't generate anything.