Bug 264068

Summary: Don't let 'dispatchChildRemovalEvents' conflict while removing node reference with a node in different document
Product: WebKit Reporter: Ahmad Saleem <ahmad.saleem792>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: cdumez, karlcow, rniwa, webkit-bug-importer
Priority: P2 Keywords: BrowserCompat, InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Ahmad Saleem 2023-11-01 17:34:57 PDT
Hi Team,

While going through Blink's commit, I came across failing test case:

Test Case: https://jsfiddle.net/L2ewu96t/show

^ fails in STP182 but passes in Firefox Nightly 121 and Chrome Canary 121.

Blink Commit: https://chromium.googlesource.com/chromium/blink/+/108683ca37c76cd4a422c4d4a64a989a600dd761

^ From quick looks, it is not possible for me to merge this.

Thanks!
Comment 1 Karl Dubost 2023-11-07 20:11:18 PST
so not sure, the test is well done.

Safari. FAIL

assert_equals(
  "NotFoundError: The object can not be found here.", 
  "NotFoundError: Failed to execute 'appendChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in response to a mutation?"
)


Firefox. PASS

but with assert not ran. 


Chrome. PASS

assert_equals(
   "NotFoundError: Failed to execute 'appendChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in response to a mutation?",    "NotFoundError: Failed to execute 'appendChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in response to a mutation?"
)



So Chrome and WebKit seems to have the same behavior but a different error message.
Firefox is probably not going to the error, because it is doing the steps. 


This needs a better test. :)
Comment 2 Radar WebKit Bug Importer 2023-11-08 16:35:26 PST
<rdar://problem/118145980>