Given a disconnected DOM tree, we should still do the event propagation. var parent = document.createElement('div'); var child = document.createElement('div'); parent.addEventListener('foo', function(e) { alert(e)}, true); var event = document.createEvent('Event'); event.initEvent('foo', true, true); parent.appendChild(child); child.dispatchEvent(event) Opera and FIrefox both alert here.
This seems to be due to the inDocument() check at the top of EventDispatcher::ensureEventAncestors: http://trac.webkit.org/browser/trunk/Source/WebCore/dom/EventDispatcher.cpp#L235 It's been around a long time, dating back to when event dispatch was still in Node.cpp.
What does IE do? If IE and WebKit agree, it would take much more than just Firefox and Opera opinion to make this change necessary.
*** Bug 110353 has been marked as a duplicate of this bug. ***
(In reply to comment #2) > What does IE do? If IE and WebKit agree, it would take much more than just Firefox and Opera opinion to make this change necessary. IE passes the test in bug 110353. This makes WebKit the odd man out.
*** Bug 113336 has been marked as a duplicate of this bug. ***
*** Bug 114023 has been marked as a duplicate of this bug. ***
<rdar://problem/13178101>
Mass moving XML DOM bugs to the "DOM" Component.
Chrome / Blink fixed this in following commit - https://src.chromium.org/viewvc/blink?view=revision&revision=198153
We must have fixed this at some point too, the test passes in Safari 16.