void AnimationControllerPrivate::serviceAnimations() { double timeToNextService = -1; double timeToNextEvent = -1; updateAnimations(timeToNextService, timeToNextEvent, CallSetNeedsStyleRecalc); scheduleService(timeToNextService, timeToNextEvent); // Fire events right away, to avoid a flash of unanimated style after an animation completes, and before // the 'end' event fires. fireEventsAndUpdateStyle(); }
void AnimationControllerPrivate::animationTimerFired(Timer<AnimationControllerPrivate>&) { // Make sure animationUpdateTime is updated, so that it is current even if no // styleChange has happened (e.g. accelerated animations) setBeginAnimationUpdateTime(cBeginAnimationUpdateTimeNotSet); // When the timer fires, all we do is call setChanged on all DOM nodes with running animations and then do an immediate // updateStyleIfNeeded. It will then call back to us with new information. updateAnimationTimer(CallSetChanged); // Fire events right away, to avoid a flash of unanimated style after an animation completes, and before // the 'end' event fires. fireEventsAndUpdateStyle(); }
void AnimationControllerPrivate::animationTimerFired() { // We need to keep the frame alive, since it owns us. Ref<Frame> protector(m_frame); // Make sure animationUpdateTime is updated, so that it is current even if no // styleChange has happened (e.g. accelerated animations) AnimationPrivateUpdateBlock updateBlock(*this); // When the timer fires, all we do is call setChanged on all DOM nodes with running animations and then do an immediate // updateStyleIfNeeded. It will then call back to us with new information. updateAnimationTimer(CallSetChanged); // Fire events right away, to avoid a flash of unanimated style after an animation completes, and before // the 'end' event fires. fireEventsAndUpdateStyle(); }
void AnimationControllerPrivate::updateStyleIfNeededDispatcherFired(Timer<AnimationControllerPrivate>&) { fireEventsAndUpdateStyle(); }