Bug 121579 - Make events propagate to ancestor nodes even if the event target is in disconnected DOM trees
Summary: Make events propagate to ancestor nodes even if the event target is in discon...
Status: RESOLVED CONFIGURATION CHANGED
Alias: None
Product: WebKit
Classification: Unclassified
Component: UI Events (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: BlinkMergeCandidate
Depends on:
Blocks:
 
Reported: 2013-09-18 15:08 PDT by Ryosuke Niwa
Modified: 2022-08-22 21:03 PDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 2013-09-18 15:08:57 PDT
Consider merging https://chromium.googlesource.com/chromium/blink/+/2c37df54b669a4f9759ed935de5c704f14ce5d39

Fixed the ancient behavior which has been there from WebKit era.
I couldn't find any reason not to fix an event propagation for disconnected DOM trees.
Now blink behaves the same way as other browsers.
Comment 2 Ahmad Saleem 2022-08-22 16:47:05 PDT
Landed ultimately in - https://src.chromium.org/viewvc/blink?view=revision&revision=198153

Test Case - event-fire-disconnected-bubbling-click.html - https://jsfiddle.net/x925r36c/1/show

*** Safari 15.6.1 ***

PASS clickedOnParent is true
PASS clickedOnChild is true
PASS successfullyParsed is true

*** Firefox Nightly 105 ***

PASS clickedOnParent is true
PASS clickedOnChild is true
PASS successfullyParsed is true

*** Chrome Canary 106 ***

PASS clickedOnParent is true
PASS clickedOnChild is true
PASS successfullyParsed is true

_____

Test Case - event-fire-disconnected-bubbling-custom-event.html - https://jsfiddle.net/fp7t1ays/show

All browsers (same as above) showed below:

PASS eventReceivedOnParent is true
PASS eventReceivedOnChild is true
PASS successfullyParsed is true

____

Test Case - event-fire-disconnected-bubbling-mutation.html - https://jsfiddle.net/5vuwLcts/show

All browsers (same as above) showed below:

PASS eventReceivedOnParent is true
PASS eventReceivedOnChild is true
PASS successfullyParsed is true

___

Test Case - mouseout-dead-node.html - https://jsfiddle.net/6jgo3rcL/show

PASS successfullyParsed is true

TEST COMPLETE
PASS mouseout
PASS mouseout
PASS mouseout

NOTE - Only difference is in this test, where Chrome does not fire "PASS mouse out" after "TEST COMPLETE" while both Safari and Firefox do.

____

I will leave it for others to check on last test case whether the subtle difference from Chrome is an issue or not. Thanks!
Comment 3 Ryosuke Niwa 2022-08-22 21:03:51 PDT
Sounds like config changed.