2008-12-01 Chris Marrin <cmarrin@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=22046
Fixed another case of crashing because the animation object is getting deleted when
it's in the middle of a callback. I actually moved where I am retaining the pointer
up out of the lower level AnimationBase code and into the timer callback that calls
them. So now the pointer is valid throughout the entire sequence of callback code.
The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
crash which this patch fixes.
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine):
(WebCore::AnimationBase::animationTimerCallbackFired):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimationPrivate::setAnimationStartTime):
(WebCore::CompositeAnimationPrivate::setTransitionStartTime):
(WebCore::CompositeAnimationPrivate::styleAvailable):
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::sendTransitionEvent):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::sendAnimationEvent):
(WebCore::KeyframeAnimation::resumeOverriddenAnimations):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
4 files changed