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

Side by Side Diff: third_party/WebKit/Source/core/animation/AnimationStackTest.cpp

Issue 2394993002: Move Priority enum/field to KeyframeEffectReadOnly (Closed)
Patch Set: Created 4 years, 2 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "core/animation/AnimationStack.h" 5 #include "core/animation/AnimationStack.h"
6 6
7 #include "core/animation/AnimationClock.h" 7 #include "core/animation/AnimationClock.h"
8 #include "core/animation/CompositorPendingAnimations.h" 8 #include "core/animation/CompositorPendingAnimations.h"
9 #include "core/animation/DocumentTimeline.h" 9 #include "core/animation/DocumentTimeline.h"
10 #include "core/animation/ElementAnimations.h" 10 #include "core/animation/ElementAnimations.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(1))), 91 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(1))),
92 10); 92 10);
93 play(makeKeyframeEffect( 93 play(makeKeyframeEffect(
94 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(2))), 94 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(2))),
95 15); 95 15);
96 play(makeKeyframeEffect( 96 play(makeKeyframeEffect(
97 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(3))), 97 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(3))),
98 5); 98 5);
99 ActiveInterpolationsMap result = AnimationStack::activeInterpolations( 99 ActiveInterpolationsMap result = AnimationStack::activeInterpolations(
100 &element->elementAnimations()->animationStack(), 0, 0, 100 &element->elementAnimations()->animationStack(), 0, 0,
101 KeyframeEffect::DefaultPriority); 101 KeyframeEffectReadOnly::DefaultPriority);
102 EXPECT_EQ(1u, result.size()); 102 EXPECT_EQ(1u, result.size());
103 EXPECT_TRUE(interpolationValue(result, CSSPropertyFontSize) 103 EXPECT_TRUE(interpolationValue(result, CSSPropertyFontSize)
104 ->equals(AnimatableDouble::create(3).get())); 104 ->equals(AnimatableDouble::create(3).get()));
105 } 105 }
106 106
107 TEST_F(AnimationAnimationStackTest, NewAnimations) { 107 TEST_F(AnimationAnimationStackTest, NewAnimations) {
108 play(makeKeyframeEffect( 108 play(makeKeyframeEffect(
109 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(1))), 109 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(1))),
110 15); 110 15);
111 play(makeKeyframeEffect( 111 play(makeKeyframeEffect(
112 makeEffectModel(CSSPropertyZIndex, AnimatableDouble::create(2))), 112 makeEffectModel(CSSPropertyZIndex, AnimatableDouble::create(2))),
113 10); 113 10);
114 HeapVector<Member<const InertEffect>> newAnimations; 114 HeapVector<Member<const InertEffect>> newAnimations;
115 InertEffect* inert1 = makeInertEffect( 115 InertEffect* inert1 = makeInertEffect(
116 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(3))); 116 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(3)));
117 InertEffect* inert2 = makeInertEffect( 117 InertEffect* inert2 = makeInertEffect(
118 makeEffectModel(CSSPropertyZIndex, AnimatableDouble::create(4))); 118 makeEffectModel(CSSPropertyZIndex, AnimatableDouble::create(4)));
119 newAnimations.append(inert1); 119 newAnimations.append(inert1);
120 newAnimations.append(inert2); 120 newAnimations.append(inert2);
121 ActiveInterpolationsMap result = AnimationStack::activeInterpolations( 121 ActiveInterpolationsMap result = AnimationStack::activeInterpolations(
122 &element->elementAnimations()->animationStack(), &newAnimations, 0, 122 &element->elementAnimations()->animationStack(), &newAnimations, 0,
123 KeyframeEffect::DefaultPriority); 123 KeyframeEffectReadOnly::DefaultPriority);
124 EXPECT_EQ(2u, result.size()); 124 EXPECT_EQ(2u, result.size());
125 EXPECT_TRUE(interpolationValue(result, CSSPropertyFontSize) 125 EXPECT_TRUE(interpolationValue(result, CSSPropertyFontSize)
126 ->equals(AnimatableDouble::create(3).get())); 126 ->equals(AnimatableDouble::create(3).get()));
127 EXPECT_TRUE(interpolationValue(result, CSSPropertyZIndex) 127 EXPECT_TRUE(interpolationValue(result, CSSPropertyZIndex)
128 ->equals(AnimatableDouble::create(4).get())); 128 ->equals(AnimatableDouble::create(4).get()));
129 } 129 }
130 130
131 TEST_F(AnimationAnimationStackTest, CancelledAnimations) { 131 TEST_F(AnimationAnimationStackTest, CancelledAnimations) {
132 HeapHashSet<Member<const Animation>> cancelledAnimations; 132 HeapHashSet<Member<const Animation>> cancelledAnimations;
133 Animation* animation = 133 Animation* animation =
134 play(makeKeyframeEffect(makeEffectModel(CSSPropertyFontSize, 134 play(makeKeyframeEffect(makeEffectModel(CSSPropertyFontSize,
135 AnimatableDouble::create(1))), 135 AnimatableDouble::create(1))),
136 0); 136 0);
137 cancelledAnimations.add(animation); 137 cancelledAnimations.add(animation);
138 play(makeKeyframeEffect( 138 play(makeKeyframeEffect(
139 makeEffectModel(CSSPropertyZIndex, AnimatableDouble::create(2))), 139 makeEffectModel(CSSPropertyZIndex, AnimatableDouble::create(2))),
140 0); 140 0);
141 ActiveInterpolationsMap result = AnimationStack::activeInterpolations( 141 ActiveInterpolationsMap result = AnimationStack::activeInterpolations(
142 &element->elementAnimations()->animationStack(), 0, &cancelledAnimations, 142 &element->elementAnimations()->animationStack(), 0, &cancelledAnimations,
143 KeyframeEffect::DefaultPriority); 143 KeyframeEffectReadOnly::DefaultPriority);
144 EXPECT_EQ(1u, result.size()); 144 EXPECT_EQ(1u, result.size());
145 EXPECT_TRUE(interpolationValue(result, CSSPropertyZIndex) 145 EXPECT_TRUE(interpolationValue(result, CSSPropertyZIndex)
146 ->equals(AnimatableDouble::create(2).get())); 146 ->equals(AnimatableDouble::create(2).get()));
147 } 147 }
148 148
149 TEST_F(AnimationAnimationStackTest, ClearedEffectsRemoved) { 149 TEST_F(AnimationAnimationStackTest, ClearedEffectsRemoved) {
150 Animation* animation = 150 Animation* animation =
151 play(makeKeyframeEffect(makeEffectModel(CSSPropertyFontSize, 151 play(makeKeyframeEffect(makeEffectModel(CSSPropertyFontSize,
152 AnimatableDouble::create(1))), 152 AnimatableDouble::create(1))),
153 10); 153 10);
154 ActiveInterpolationsMap result = AnimationStack::activeInterpolations( 154 ActiveInterpolationsMap result = AnimationStack::activeInterpolations(
155 &element->elementAnimations()->animationStack(), 0, 0, 155 &element->elementAnimations()->animationStack(), 0, 0,
156 KeyframeEffect::DefaultPriority); 156 KeyframeEffectReadOnly::DefaultPriority);
157 EXPECT_EQ(1u, result.size()); 157 EXPECT_EQ(1u, result.size());
158 EXPECT_TRUE(interpolationValue(result, CSSPropertyFontSize) 158 EXPECT_TRUE(interpolationValue(result, CSSPropertyFontSize)
159 ->equals(AnimatableDouble::create(1).get())); 159 ->equals(AnimatableDouble::create(1).get()));
160 160
161 animation->setEffect(0); 161 animation->setEffect(0);
162 result = AnimationStack::activeInterpolations( 162 result = AnimationStack::activeInterpolations(
163 &element->elementAnimations()->animationStack(), 0, 0, 163 &element->elementAnimations()->animationStack(), 0, 0,
164 KeyframeEffect::DefaultPriority); 164 KeyframeEffectReadOnly::DefaultPriority);
165 EXPECT_EQ(0u, result.size()); 165 EXPECT_EQ(0u, result.size());
166 } 166 }
167 167
168 TEST_F(AnimationAnimationStackTest, ForwardsFillDiscarding) { 168 TEST_F(AnimationAnimationStackTest, ForwardsFillDiscarding) {
169 play(makeKeyframeEffect( 169 play(makeKeyframeEffect(
170 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(1))), 170 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(1))),
171 2); 171 2);
172 play(makeKeyframeEffect( 172 play(makeKeyframeEffect(
173 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(2))), 173 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(2))),
174 6); 174 6);
175 play(makeKeyframeEffect( 175 play(makeKeyframeEffect(
176 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(3))), 176 makeEffectModel(CSSPropertyFontSize, AnimatableDouble::create(3))),
177 4); 177 4);
178 document->compositorPendingAnimations().update(); 178 document->compositorPendingAnimations().update();
179 ActiveInterpolationsMap interpolations; 179 ActiveInterpolationsMap interpolations;
180 180
181 updateTimeline(11); 181 updateTimeline(11);
182 ThreadState::current()->collectAllGarbage(); 182 ThreadState::current()->collectAllGarbage();
183 interpolations = AnimationStack::activeInterpolations( 183 interpolations = AnimationStack::activeInterpolations(
184 &element->elementAnimations()->animationStack(), nullptr, nullptr, 184 &element->elementAnimations()->animationStack(), nullptr, nullptr,
185 KeyframeEffect::DefaultPriority); 185 KeyframeEffectReadOnly::DefaultPriority);
186 EXPECT_EQ(1u, interpolations.size()); 186 EXPECT_EQ(1u, interpolations.size());
187 EXPECT_TRUE(interpolationValue(interpolations, CSSPropertyFontSize) 187 EXPECT_TRUE(interpolationValue(interpolations, CSSPropertyFontSize)
188 ->equals(AnimatableDouble::create(3).get())); 188 ->equals(AnimatableDouble::create(3).get()));
189 EXPECT_EQ(3u, sampledEffectCount()); 189 EXPECT_EQ(3u, sampledEffectCount());
190 190
191 updateTimeline(13); 191 updateTimeline(13);
192 ThreadState::current()->collectAllGarbage(); 192 ThreadState::current()->collectAllGarbage();
193 interpolations = AnimationStack::activeInterpolations( 193 interpolations = AnimationStack::activeInterpolations(
194 &element->elementAnimations()->animationStack(), nullptr, nullptr, 194 &element->elementAnimations()->animationStack(), nullptr, nullptr,
195 KeyframeEffect::DefaultPriority); 195 KeyframeEffectReadOnly::DefaultPriority);
196 EXPECT_EQ(1u, interpolations.size()); 196 EXPECT_EQ(1u, interpolations.size());
197 EXPECT_TRUE(interpolationValue(interpolations, CSSPropertyFontSize) 197 EXPECT_TRUE(interpolationValue(interpolations, CSSPropertyFontSize)
198 ->equals(AnimatableDouble::create(3).get())); 198 ->equals(AnimatableDouble::create(3).get()));
199 EXPECT_EQ(3u, sampledEffectCount()); 199 EXPECT_EQ(3u, sampledEffectCount());
200 200
201 updateTimeline(15); 201 updateTimeline(15);
202 ThreadState::current()->collectAllGarbage(); 202 ThreadState::current()->collectAllGarbage();
203 interpolations = AnimationStack::activeInterpolations( 203 interpolations = AnimationStack::activeInterpolations(
204 &element->elementAnimations()->animationStack(), nullptr, nullptr, 204 &element->elementAnimations()->animationStack(), nullptr, nullptr,
205 KeyframeEffect::DefaultPriority); 205 KeyframeEffectReadOnly::DefaultPriority);
206 EXPECT_EQ(1u, interpolations.size()); 206 EXPECT_EQ(1u, interpolations.size());
207 EXPECT_TRUE(interpolationValue(interpolations, CSSPropertyFontSize) 207 EXPECT_TRUE(interpolationValue(interpolations, CSSPropertyFontSize)
208 ->equals(AnimatableDouble::create(3).get())); 208 ->equals(AnimatableDouble::create(3).get()));
209 EXPECT_EQ(2u, sampledEffectCount()); 209 EXPECT_EQ(2u, sampledEffectCount());
210 210
211 updateTimeline(17); 211 updateTimeline(17);
212 ThreadState::current()->collectAllGarbage(); 212 ThreadState::current()->collectAllGarbage();
213 interpolations = AnimationStack::activeInterpolations( 213 interpolations = AnimationStack::activeInterpolations(
214 &element->elementAnimations()->animationStack(), nullptr, nullptr, 214 &element->elementAnimations()->animationStack(), nullptr, nullptr,
215 KeyframeEffect::DefaultPriority); 215 KeyframeEffectReadOnly::DefaultPriority);
216 EXPECT_EQ(1u, interpolations.size()); 216 EXPECT_EQ(1u, interpolations.size());
217 EXPECT_TRUE(interpolationValue(interpolations, CSSPropertyFontSize) 217 EXPECT_TRUE(interpolationValue(interpolations, CSSPropertyFontSize)
218 ->equals(AnimatableDouble::create(3).get())); 218 ->equals(AnimatableDouble::create(3).get()));
219 EXPECT_EQ(1u, sampledEffectCount()); 219 EXPECT_EQ(1u, sampledEffectCount());
220 } 220 }
221 221
222 } // namespace blink 222 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/animation/AnimationStack.cpp ('k') | third_party/WebKit/Source/core/animation/KeyframeEffect.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698