[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