Bug 27627 - DRT animation/transition pause API does not pause accelerated animations
Summary: DRT animation/transition pause API does not pause accelerated animations
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: All OS X 10.5
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2009-07-23 15:16 PDT by Simon Fraser (smfr)
Modified: 2009-08-03 12:40 PDT (History)
1 user (show)

See Also:


Attachments
Patch, changelogs (46.34 KB, patch)
2009-07-23 15:22 PDT, Simon Fraser (smfr)
mitz: review+
Details | Formatted Diff | Diff
Unbitrotted patch, some tests need tweaking still. (40.91 KB, patch)
2009-07-31 18:24 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2009-07-23 15:16:15 PDT
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.
Comment 1 Simon Fraser (smfr) 2009-07-23 15:16:46 PDT
<rdar://problem/6442932>
Comment 2 Simon Fraser (smfr) 2009-07-23 15:22:20 PDT
Created attachment 33385 [details]
Patch, changelogs
Comment 3 mitz 2009-07-24 11:33:45 PDT
Comment on attachment 33385 [details]
Patch, changelogs

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”.
Comment 4 Simon Fraser (smfr) 2009-07-31 18:24:39 PDT
Created attachment 33916 [details]
Unbitrotted patch, some tests need tweaking still.
Comment 5 Simon Fraser (smfr) 2009-08-03 12:40:27 PDT
http://trac.webkit.org/changeset/46727