| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013, Google Inc. All rights reserved. | 2 * Copyright (c) 2013, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 { | 82 { |
| 83 AnimationTimeline::PlatformTiming::trace(visitor); | 83 AnimationTimeline::PlatformTiming::trace(visitor); |
| 84 } | 84 } |
| 85 }; | 85 }; |
| 86 | 86 |
| 87 class AnimationAnimationTimelineTest : public ::testing::Test { | 87 class AnimationAnimationTimelineTest : public ::testing::Test { |
| 88 protected: | 88 protected: |
| 89 virtual void SetUp() | 89 virtual void SetUp() |
| 90 { | 90 { |
| 91 document = Document::create(); | 91 document = Document::create(); |
| 92 document->animationClock().resetTimeForTesting(); | 92 document->animationClock().clearTimeForTesting(); |
| 93 document->animationClock().updateTime(blink::WebFrameTime(-1, -1, 0, 0))
; |
| 93 element = Element::create(QualifiedName::null() , document.get()); | 94 element = Element::create(QualifiedName::null() , document.get()); |
| 94 platformTiming = new MockPlatformTiming; | 95 platformTiming = new MockPlatformTiming; |
| 95 timeline = AnimationTimeline::create(document.get(), adoptPtrWillBeNoop(
platformTiming)); | 96 timeline = AnimationTimeline::create(document.get(), adoptPtrWillBeNoop(
platformTiming)); |
| 96 ASSERT_EQ(0, timeline->currentTimeInternal()); | 97 ASSERT_EQ(0, timeline->currentTimeInternal()); |
| 97 } | 98 } |
| 98 | 99 |
| 99 virtual void TearDown() | 100 virtual void TearDown() |
| 100 { | 101 { |
| 101 document.release(); | 102 document.release(); |
| 102 element.release(); | 103 element.release(); |
| 103 timeline.release(); | 104 timeline.release(); |
| 104 } | 105 } |
| 105 | 106 |
| 106 void updateClockAndService(double time) | 107 void updateClockAndService(double time) |
| 107 { | 108 { |
| 108 document->animationClock().updateTime(time); | 109 document->animationClock().updateTime(blink::WebFrameTime(-1, -1, time,
time + 1)); |
| 109 timeline->serviceAnimations(TimingUpdateForAnimationFrame); | 110 timeline->serviceAnimations(TimingUpdateForAnimationFrame); |
| 110 } | 111 } |
| 111 | 112 |
| 112 RefPtrWillBePersistent<Document> document; | 113 RefPtrWillBePersistent<Document> document; |
| 113 RefPtrWillBePersistent<Element> element; | 114 RefPtrWillBePersistent<Element> element; |
| 114 RefPtrWillBePersistent<AnimationTimeline> timeline; | 115 RefPtrWillBePersistent<AnimationTimeline> timeline; |
| 115 Timing timing; | 116 Timing timing; |
| 116 MockPlatformTiming* platformTiming; | 117 MockPlatformTiming* platformTiming; |
| 117 | 118 |
| 118 void wake() | 119 void wake() |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 platformTiming->expectNoMoreActions(); | 165 platformTiming->expectNoMoreActions(); |
| 165 updateClockAndService(100); | 166 updateClockAndService(100); |
| 166 EXPECT_FLOAT_EQ(100, timeline->currentTimeInternal()); | 167 EXPECT_FLOAT_EQ(100, timeline->currentTimeInternal()); |
| 167 } | 168 } |
| 168 | 169 |
| 169 TEST_F(AnimationAnimationTimelineTest, ZeroTime) | 170 TEST_F(AnimationAnimationTimelineTest, ZeroTime) |
| 170 { | 171 { |
| 171 timeline = AnimationTimeline::create(document.get()); | 172 timeline = AnimationTimeline::create(document.get()); |
| 172 bool isNull; | 173 bool isNull; |
| 173 | 174 |
| 174 document->animationClock().updateTime(100); | 175 document->animationClock().updateTime(blink::WebFrameTime(-1, -1, 100, 101))
; |
| 175 EXPECT_EQ(100, timeline->currentTimeInternal()); | 176 EXPECT_EQ(100, timeline->currentTimeInternal()); |
| 176 EXPECT_EQ(100, timeline->currentTimeInternal(isNull)); | 177 EXPECT_EQ(100, timeline->currentTimeInternal(isNull)); |
| 177 EXPECT_FALSE(isNull); | 178 EXPECT_FALSE(isNull); |
| 178 | 179 |
| 179 document->animationClock().updateTime(200); | 180 document->animationClock().updateTime(blink::WebFrameTime(-1, -1, 200, 201))
; |
| 180 EXPECT_EQ(200, timeline->currentTimeInternal()); | 181 EXPECT_EQ(200, timeline->currentTimeInternal()); |
| 181 EXPECT_EQ(200, timeline->currentTimeInternal(isNull)); | 182 EXPECT_EQ(200, timeline->currentTimeInternal(isNull)); |
| 182 EXPECT_FALSE(isNull); | 183 EXPECT_FALSE(isNull); |
| 183 } | 184 } |
| 184 | 185 |
| 185 TEST_F(AnimationAnimationTimelineTest, PauseForTesting) | 186 TEST_F(AnimationAnimationTimelineTest, PauseForTesting) |
| 186 { | 187 { |
| 187 float seekTime = 1; | 188 float seekTime = 1; |
| 188 timing.fillMode = Timing::FillModeForwards; | 189 timing.fillMode = Timing::FillModeForwards; |
| 189 RefPtrWillBeRawPtr<Animation> anim1 = Animation::create(element.get(), Anima
tableValueKeyframeEffectModel::create(AnimatableValueKeyframeVector()), timing); | 190 RefPtrWillBeRawPtr<Animation> anim1 = Animation::create(element.get(), Anima
tableValueKeyframeEffectModel::create(AnimatableValueKeyframeVector()), timing); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 | 285 |
| 285 TEST_F(AnimationAnimationTimelineTest, UseAnimationPlayerAfterTimelineDeref) | 286 TEST_F(AnimationAnimationTimelineTest, UseAnimationPlayerAfterTimelineDeref) |
| 286 { | 287 { |
| 287 RefPtrWillBeRawPtr<AnimationPlayer> player = timeline->createAnimationPlayer
(0); | 288 RefPtrWillBeRawPtr<AnimationPlayer> player = timeline->createAnimationPlayer
(0); |
| 288 timeline.clear(); | 289 timeline.clear(); |
| 289 // Test passes if this does not crash. | 290 // Test passes if this does not crash. |
| 290 player->setStartTime(0); | 291 player->setStartTime(0); |
| 291 } | 292 } |
| 292 | 293 |
| 293 } | 294 } |
| OLD | NEW |