Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(732)

Side by Side Diff: ui/compositor/layer_animation_sequence_unittest.cc

Issue 231133002: CC::Animations should use TimeTicks & TimeDelta to represent time (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code changed as per review comments Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/compositor/layer_animation_sequence.cc ('k') | ui/compositor/layer_animator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/compositor/layer_animation_sequence.h" 5 #include "ui/compositor/layer_animation_sequence.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 for (int i = 0; i < 2; ++i) { 85 for (int i = 0; i < 2; ++i) {
86 int starting_group_id = 1; 86 int starting_group_id = 1;
87 sequence.set_animation_group_id(starting_group_id); 87 sequence.set_animation_group_id(starting_group_id);
88 start_time = effective_start + delta; 88 start_time = effective_start + delta;
89 sequence.set_start_time(start_time); 89 sequence.set_start_time(start_time);
90 delegate.SetOpacityFromAnimation(start); 90 delegate.SetOpacityFromAnimation(start);
91 sequence.Start(&delegate); 91 sequence.Start(&delegate);
92 sequence.Progress(start_time, &delegate); 92 sequence.Progress(start_time, &delegate);
93 EXPECT_FLOAT_EQ(start, sequence.last_progressed_fraction()); 93 EXPECT_FLOAT_EQ(start, sequence.last_progressed_fraction());
94 effective_start = start_time + delta; 94 effective_start = start_time + delta;
95 sequence.OnThreadedAnimationStarted(cc::AnimationEvent( 95 sequence.OnThreadedAnimationStarted(
96 cc::AnimationEvent::Started, 96 cc::AnimationEvent(cc::AnimationEvent::Started,
97 0, 97 0,
98 sequence.animation_group_id(), 98 sequence.animation_group_id(),
99 cc::Animation::Opacity, 99 cc::Animation::Opacity,
100 (effective_start - base::TimeTicks()).InSecondsF())); 100 effective_start));
101 sequence.Progress(effective_start + delta/2, &delegate); 101 sequence.Progress(effective_start + delta/2, &delegate);
102 EXPECT_FLOAT_EQ(middle, sequence.last_progressed_fraction()); 102 EXPECT_FLOAT_EQ(middle, sequence.last_progressed_fraction());
103 EXPECT_TRUE(sequence.IsFinished(effective_start + delta)); 103 EXPECT_TRUE(sequence.IsFinished(effective_start + delta));
104 sequence.Progress(effective_start + delta, &delegate); 104 sequence.Progress(effective_start + delta, &delegate);
105 EXPECT_FLOAT_EQ(target, sequence.last_progressed_fraction()); 105 EXPECT_FLOAT_EQ(target, sequence.last_progressed_fraction());
106 EXPECT_FLOAT_EQ(target, delegate.GetOpacityForAnimation()); 106 EXPECT_FLOAT_EQ(target, delegate.GetOpacityForAnimation());
107 } 107 }
108 108
109 EXPECT_EQ(static_cast<LayerAnimationElement::AnimatableProperties>( 109 EXPECT_EQ(static_cast<LayerAnimationElement::AnimatableProperties>(
110 LayerAnimationElement::OPACITY), 110 LayerAnimationElement::OPACITY),
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 start_time = opacity_effective_start + 4 * delta; 142 start_time = opacity_effective_start + 4 * delta;
143 sequence.set_start_time(start_time); 143 sequence.set_start_time(start_time);
144 delegate.SetOpacityFromAnimation(start_opacity); 144 delegate.SetOpacityFromAnimation(start_opacity);
145 delegate.SetTransformFromAnimation(start_transform); 145 delegate.SetTransformFromAnimation(start_transform);
146 146
147 sequence.Start(&delegate); 147 sequence.Start(&delegate);
148 sequence.Progress(start_time, &delegate); 148 sequence.Progress(start_time, &delegate);
149 EXPECT_FLOAT_EQ(0.0, sequence.last_progressed_fraction()); 149 EXPECT_FLOAT_EQ(0.0, sequence.last_progressed_fraction());
150 opacity_effective_start = start_time + delta; 150 opacity_effective_start = start_time + delta;
151 EXPECT_EQ(starting_group_id, sequence.animation_group_id()); 151 EXPECT_EQ(starting_group_id, sequence.animation_group_id());
152 sequence.OnThreadedAnimationStarted(cc::AnimationEvent( 152 sequence.OnThreadedAnimationStarted(
153 cc::AnimationEvent::Started, 153 cc::AnimationEvent(cc::AnimationEvent::Started,
154 0, 154 0,
155 sequence.animation_group_id(), 155 sequence.animation_group_id(),
156 cc::Animation::Opacity, 156 cc::Animation::Opacity,
157 (opacity_effective_start - base::TimeTicks()).InSecondsF())); 157 opacity_effective_start));
158 sequence.Progress(opacity_effective_start + delta/2, &delegate); 158 sequence.Progress(opacity_effective_start + delta/2, &delegate);
159 EXPECT_FLOAT_EQ(0.5, sequence.last_progressed_fraction()); 159 EXPECT_FLOAT_EQ(0.5, sequence.last_progressed_fraction());
160 sequence.Progress(opacity_effective_start + delta, &delegate); 160 sequence.Progress(opacity_effective_start + delta, &delegate);
161 EXPECT_FLOAT_EQ(target_opacity, delegate.GetOpacityForAnimation()); 161 EXPECT_FLOAT_EQ(target_opacity, delegate.GetOpacityForAnimation());
162 162
163 // Now at the start of the pause. 163 // Now at the start of the pause.
164 EXPECT_FLOAT_EQ(0.0, sequence.last_progressed_fraction()); 164 EXPECT_FLOAT_EQ(0.0, sequence.last_progressed_fraction());
165 TestLayerAnimationDelegate copy = delegate; 165 TestLayerAnimationDelegate copy = delegate;
166 166
167 // In the middle of the pause -- nothing should have changed. 167 // In the middle of the pause -- nothing should have changed.
168 sequence.Progress(opacity_effective_start + delta + delta/2, 168 sequence.Progress(opacity_effective_start + delta + delta/2,
169 &delegate); 169 &delegate);
170 CheckApproximatelyEqual(delegate.GetBoundsForAnimation(), 170 CheckApproximatelyEqual(delegate.GetBoundsForAnimation(),
171 copy.GetBoundsForAnimation()); 171 copy.GetBoundsForAnimation());
172 CheckApproximatelyEqual(delegate.GetTransformForAnimation(), 172 CheckApproximatelyEqual(delegate.GetTransformForAnimation(),
173 copy.GetTransformForAnimation()); 173 copy.GetTransformForAnimation());
174 EXPECT_FLOAT_EQ(delegate.GetOpacityForAnimation(), 174 EXPECT_FLOAT_EQ(delegate.GetOpacityForAnimation(),
175 copy.GetOpacityForAnimation()); 175 copy.GetOpacityForAnimation());
176 176
177 sequence.Progress(opacity_effective_start + 2 * delta, &delegate); 177 sequence.Progress(opacity_effective_start + 2 * delta, &delegate);
178 CheckApproximatelyEqual(start_transform, 178 CheckApproximatelyEqual(start_transform,
179 delegate.GetTransformForAnimation()); 179 delegate.GetTransformForAnimation());
180 EXPECT_FLOAT_EQ(0.0, sequence.last_progressed_fraction()); 180 EXPECT_FLOAT_EQ(0.0, sequence.last_progressed_fraction());
181 transform_effective_start = opacity_effective_start + 3 * delta; 181 transform_effective_start = opacity_effective_start + 3 * delta;
182 EXPECT_NE(starting_group_id, sequence.animation_group_id()); 182 EXPECT_NE(starting_group_id, sequence.animation_group_id());
183 sequence.OnThreadedAnimationStarted(cc::AnimationEvent( 183 sequence.OnThreadedAnimationStarted(
184 cc::AnimationEvent::Started, 184 cc::AnimationEvent(cc::AnimationEvent::Started,
185 0, 185 0,
186 sequence.animation_group_id(), 186 sequence.animation_group_id(),
187 cc::Animation::Transform, 187 cc::Animation::Transform,
188 (transform_effective_start - base::TimeTicks()).InSecondsF())); 188 transform_effective_start));
189 sequence.Progress(transform_effective_start + delta/2, &delegate); 189 sequence.Progress(transform_effective_start + delta/2, &delegate);
190 EXPECT_FLOAT_EQ(0.5, sequence.last_progressed_fraction()); 190 EXPECT_FLOAT_EQ(0.5, sequence.last_progressed_fraction());
191 EXPECT_TRUE(sequence.IsFinished(transform_effective_start + delta)); 191 EXPECT_TRUE(sequence.IsFinished(transform_effective_start + delta));
192 sequence.Progress(transform_effective_start + delta, &delegate); 192 sequence.Progress(transform_effective_start + delta, &delegate);
193 CheckApproximatelyEqual(target_transform, 193 CheckApproximatelyEqual(target_transform,
194 delegate.GetTransformForAnimation()); 194 delegate.GetTransformForAnimation());
195 } 195 }
196 196
197 EXPECT_EQ( 197 EXPECT_EQ(
198 static_cast<LayerAnimationElement::AnimatableProperties>( 198 static_cast<LayerAnimationElement::AnimatableProperties>(
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 EXPECT_TRUE(!observer.last_ended_sequence()); 273 EXPECT_TRUE(!observer.last_ended_sequence());
274 sequence.Progress(start_time + delta, &delegate); 274 sequence.Progress(start_time + delta, &delegate);
275 EXPECT_EQ(observer.last_ended_sequence(), &sequence); 275 EXPECT_EQ(observer.last_ended_sequence(), &sequence);
276 sequence.RemoveObserver(&observer); 276 sequence.RemoveObserver(&observer);
277 } 277 }
278 } 278 }
279 279
280 } // namespace 280 } // namespace
281 281
282 } // namespace ui 282 } // namespace ui
OLDNEW
« no previous file with comments | « ui/compositor/layer_animation_sequence.cc ('k') | ui/compositor/layer_animator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698