2009-10-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        After running a transition with an end event listener, can't change the transform
        https://bugs.webkit.org/show_bug.cgi?id=30454

        Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd,
        the animations would not get cleaned up correctly, which broke subsequent changes of transform.

        Now, we always clean up the animations right after queuing up the end events.

        Tests: animations/state-at-end-event.html
               transitions/move-after-transition.html

        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::onAnimationEnd):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::onAnimationEnd):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49711 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/platform/mac/transitions/transition-end-event-rendering-expected.txt b/LayoutTests/platform/mac/transitions/transition-end-event-rendering-expected.txt
new file mode 100644
index 0000000..210a98f
--- /dev/null
+++ b/LayoutTests/platform/mac/transitions/transition-end-event-rendering-expected.txt
@@ -0,0 +1,10 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x232
+  RenderBlock {HTML} at (0,0) size 800x232
+    RenderBody {BODY} at (0,0) size 800x232
+      RenderBlock {DIV} at (0,232) size 800x0
+layer at (0,0) size 402x232
+  RenderBlock (relative positioned) {DIV} at (0,0) size 402x232 [border: (1px solid #000000)]
+layer at (1,11) size 100x100
+  RenderBlock (relative positioned) {DIV} at (1,11) size 100x100 [bgcolor=#008000]