From 90ba4f19f56e06a393c94176e7fee0d346ff8e2a Mon Sep 17 00:00:00 2001 From: "pol@apple.com" Date: Wed, 10 Dec 2008 18:00:55 +0000 Subject: [PATCH] 2008-12-10 Pierre-Olivier Latour Reviewed by Darin Adler. KeyframeAnimation::animate() needs to compute the elapsed animation time properly taking into account its paused state. https://bugs.webkit.org/show_bug.cgi?id=22773 Test: animations/animation-drt-api-multiple-keyframes.html * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39176 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 15 ++++++ .../animation-drt-api-multiple-keyframes.html | 47 ++++++++++++++++++ ...t-api-multiple-keyframes-expected.checksum | 1 + ...on-drt-api-multiple-keyframes-expected.png | Bin 0 -> 29234 bytes ...on-drt-api-multiple-keyframes-expected.txt | 11 ++++ LayoutTests/platform/win/Skipped | 1 + WebCore/ChangeLog | 14 ++++++ WebCore/page/animation/KeyframeAnimation.cpp | 2 +- 8 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 LayoutTests/animations/animation-drt-api-multiple-keyframes.html create mode 100644 LayoutTests/platform/mac/animations/animation-drt-api-multiple-keyframes-expected.checksum create mode 100644 LayoutTests/platform/mac/animations/animation-drt-api-multiple-keyframes-expected.png create mode 100644 LayoutTests/platform/mac/animations/animation-drt-api-multiple-keyframes-expected.txt diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index 8e43d6c99327..f10ba8ad9ba3 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,18 @@ +2008-12-10 Pierre-Olivier Latour + + Reviewed by Darin Adler. + + Added a test to verify that the DRT API pauseAnimationAtTimeOnElementWithId() does work + with animations using multiple keyframes. + + https://bugs.webkit.org/show_bug.cgi?id=22773 + + * animations/animation-drt-api-multiple-keyframes.html: Added. + * platform/mac/animations/animation-drt-api-multiple-keyframes-expected.checksum: Added. + * platform/mac/animations/animation-drt-api-multiple-keyframes-expected.png: Added. + * platform/mac/animations/animation-drt-api-multiple-keyframes-expected.txt: Added. + * platform/win/Skipped: + 2008-12-10 Hironori Bono Reviewed by Alexey Proskuryakov. diff --git a/LayoutTests/animations/animation-drt-api-multiple-keyframes.html b/LayoutTests/animations/animation-drt-api-multiple-keyframes.html new file mode 100644 index 000000000000..cc170b68f9b2 --- /dev/null +++ b/LayoutTests/animations/animation-drt-api-multiple-keyframes.html @@ -0,0 +1,47 @@ + + + + + + + + + +

Test for DRT pauseAnimationAtTimeOnElementWithId() API on animations with multiple keyframes

+ +
+
+ + + diff --git a/LayoutTests/platform/mac/animations/animation-drt-api-multiple-keyframes-expected.checksum b/LayoutTests/platform/mac/animations/animation-drt-api-multiple-keyframes-expected.checksum new file mode 100644 index 000000000000..3b69f273efc9 --- /dev/null +++ b/LayoutTests/platform/mac/animations/animation-drt-api-multiple-keyframes-expected.checksum @@ -0,0 +1 @@ +e04c89890048c38895b300318c022f32 \ No newline at end of file diff --git a/LayoutTests/platform/mac/animations/animation-drt-api-multiple-keyframes-expected.png b/LayoutTests/platform/mac/animations/animation-drt-api-multiple-keyframes-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..e0831fee202de8df98f1aa6edb4d774b39c502ec GIT binary patch literal 29234 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 n5FP;WC@?nl9}eOvOkd<##;rI7-30s#65? + + Reviewed by Darin Adler. + + KeyframeAnimation::animate() needs to compute the elapsed animation time + properly taking into account its paused state. + + https://bugs.webkit.org/show_bug.cgi?id=22773 + + Test: animations/animation-drt-api-multiple-keyframes.html + + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::animate): + 2008-12-10 Simon Fraser Reviewed by Dan Bernstein diff --git a/WebCore/page/animation/KeyframeAnimation.cpp b/WebCore/page/animation/KeyframeAnimation.cpp index c44731bc1d8c..9e015d8a59cd 100644 --- a/WebCore/page/animation/KeyframeAnimation.cpp +++ b/WebCore/page/animation/KeyframeAnimation.cpp @@ -84,7 +84,7 @@ void KeyframeAnimation::animate(CompositeAnimation* animation, RenderObject* ren // We should cache the last pair or something. // Find the first key - double elapsedTime = (m_startTime > 0) ? ((!paused() ? currentTime() : m_pauseTime) - m_startTime) : 0; + double elapsedTime = (m_startTime > 0 || m_pauseTime > 0) ? ((!paused() ? currentTime() : m_pauseTime) - m_startTime) : 0; if (elapsedTime < 0) elapsedTime = 0; -- 2.36.0