The 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' methods available to JS in DRT don't do the right thing for animations that are accelerated, making it hard to write tests that give pixel-accurate results for these kinds of animations.
Created attachment 33385 [details]
Comment on attachment 33385 [details]
Minor style issues:
> -void AnimationBase::pauseAtTime(double t)
> +void AnimationBase::freezeAtTime(double t)
While you’re at it, please rename 't' to 'time'.
> + ASSERT(m_startTime); // if m_startTime is zero, we haven't started yet, so we'll get a bad pause time.
Since it ends with a period, it must begin with a capital “If” instead of “if”.
> + void freezeAtTime(double t);
No need to name the parameter here.
> + virtual void suspendAnimations(double time = 0); // zero value for time means "use currentTime()".
“Zero” instead of “zero”.
Created attachment 33916 [details]
Unbitrotted patch, some tests need tweaking still.