Regression: Event#stopPropagation() does not halt bubbling for webkitTransitionEnd

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. I've added three tests to cover
the problem.

It's a backport of my own WebKit patch reviewed by Darin Adler :
https://bugs.webkit.org/show_bug.cgi?id=115656

BUG=238379
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/15179010

git-svn-id: svn://svn.chromium.org/blink/trunk@150573 bbb929c8-8fbe-4397-9dbb-9b2b20218538
8 files changed