[Webkit-unassigned] [Bug 115656] New: Event#stopPropagation() does not halt bubbling for webkitTransitionEnd
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon May 6 09:56:13 PDT 2013
https://bugs.webkit.org/show_bug.cgi?id=115656
Summary: Event#stopPropagation() does not halt bubbling for
webkitTransitionEnd
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: Major
Priority: P2
Component: Event Handling
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: mattseeley at hotmail.com
Created an attachment (id=200713)
--> (https://bugs.webkit.org/attachment.cgi?id=200713&action=review)
Repro case
I couldn't find bugs with 'stopPropagation()' using Quick Search. If this is a dupe please accept my apologies. I did not verify if the stopPropagation() behavior is broken for other event types.
Expected behavior:
A webkitTransitionEnd event handler on a parentNode should not be invoked by a descendants webkitTransitionEnd when the descendant has previously called stopPropagation().
Actual:
Calling stopPropagation() when the descendant is handling the event does not stop propagation. When the descendant is handling the event it is the first responder in the bubbling phase (target === currentTarget).
Notes and repro:
Nightly build r139829 [0] regressed support for stopping event propagation of transitionEnd events. Build r139728 [1] is the last good build. We spotted the bug in Chrome >= 26.0.1410.43 (25.0.1364.160 works as expected) and back tracked it to WebKit nightly builds.
The attached repro case assigns the same handler function to a parent and child nodes. Next an animation is triggered on the child node. The first responding node (child) attempts to stop event propagation. This test passes when the test executes one time and target === currentTarget. Or, technically when the last handling node is also target === currentTarget yet this doesn't occur during bubbling. You get the idea.
Downloading the DMG, mounting in Finder, then running WebKit executable directly is fine. I haven't needed to install/remove.
* Close all open WebKit instances
* Open the repro attachment in the last good build
* Notice that the event handler is only invoked once (pass)
* Now open the repro attachment in the first bad build
* Notice the event handler is invoked twice (fail)
[0] First bad: http://builds.nightly.webkit.org/files/trunk/mac/WebKit-SVN-r139829.dmg
[1] Last good: http://builds.nightly.webkit.org/files/trunk/mac/WebKit-SVN-r139728.dmg
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list