Skip to content
  • alexis@webkit.org's avatar
    Regression: Event#stopPropagation() does not halt bubbling for webkitTransitionEnd · fab3303d
    alexis@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=115656
    
    Reviewed by Darin Adler.
    
    Source/WebCore:
    
    If we create a prefixed event to dispatch it (in the case we have only
    prefixed event listeners in client's code) then we need to make sure to
    keep it in sync with the original unprefixed event after it has been
    dispatched. While being dispatched the event can be modified by
    client's code and when propagated back to outer elements, attributes were
    not updated. This patch changes the old design of creating a separate event
    for the prefixed case and now change the type of the event (so the name) before
    dispatching it, keeping the attributes if changed and then rename it
    back to unprefixed when the dispatching is finished.
    
    Tests: transitions/transition-end-event-prefixed-01.html
           transitions/transition-end-event-prefixed-02.html
           transitions/transition-end-event-prefixed-03.html
    
    * dom/Event.h:
    (WebCore::Event::setType):
    * dom/EventTarget.cpp:
    (WebCore::EventTarget::fireEventListeners):
    
    LayoutTests:
    
    Added new tests to cover the bug.
    
    * transitions/transition-end-event-prefixed-03-expected.txt: Added.
    * transitions/transition-end-event-prefixed-03.html: Added.
    * transitions/transition-end-event-prefixed-02-expected.txt: Added.
    * transitions/transition-end-event-prefixed-02.html: Added.
    * transitions/transition-end-event-prefixed-01-expected.txt: Added.
    * transitions/transition-end-event-prefixed-01.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    fab3303d