OLD | NEW |
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 "config.h" | 5 #include "config.h" |
6 #include "core/animation/Animation.h" | 6 #include "core/animation/Animation.h" |
7 | 7 |
8 #include "bindings/core/v8/Dictionary.h" | 8 #include "bindings/core/v8/Dictionary.h" |
9 #include "bindings/core/v8/UnionTypesCore.h" | 9 #include "bindings/core/v8/UnionTypesCore.h" |
10 #include "core/animation/AnimationClock.h" | 10 #include "core/animation/AnimationClock.h" |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 Vector<Dictionary, 0> jsKeyframes; | 248 Vector<Dictionary, 0> jsKeyframes; |
249 | 249 |
250 v8::Handle<v8::Object> timingInputWithDuration = v8::Object::New(m_isolate); | 250 v8::Handle<v8::Object> timingInputWithDuration = v8::Object::New(m_isolate); |
251 setV8ObjectPropertyAsNumber(timingInputWithDuration, "duration", 2.5); | 251 setV8ObjectPropertyAsNumber(timingInputWithDuration, "duration", 2.5); |
252 Dictionary timingInputDictionaryWithDuration = Dictionary(v8::Handle<v8::Val
ue>::Cast(timingInputWithDuration), m_isolate, exceptionState); | 252 Dictionary timingInputDictionaryWithDuration = Dictionary(v8::Handle<v8::Val
ue>::Cast(timingInputWithDuration), m_isolate, exceptionState); |
253 | 253 |
254 RefPtrWillBeRawPtr<Animation> animationWithDuration = createAnimation(elemen
t.get(), jsKeyframes, timingInputDictionaryWithDuration, exceptionState); | 254 RefPtrWillBeRawPtr<Animation> animationWithDuration = createAnimation(elemen
t.get(), jsKeyframes, timingInputDictionaryWithDuration, exceptionState); |
255 | 255 |
256 RefPtrWillBeRawPtr<AnimationNodeTiming> specifiedWithDuration = animationWit
hDuration->timing(); | 256 RefPtrWillBeRawPtr<AnimationNodeTiming> specifiedWithDuration = animationWit
hDuration->timing(); |
257 DoubleOrString duration; | 257 DoubleOrString duration; |
258 specifiedWithDuration->getDuration("duration", duration); | 258 specifiedWithDuration->duration(duration); |
259 EXPECT_TRUE(duration.isDouble()); | 259 EXPECT_TRUE(duration.isDouble()); |
260 EXPECT_EQ(2.5, duration.getAsDouble()); | 260 EXPECT_EQ(2.5, duration.getAsDouble()); |
261 EXPECT_FALSE(duration.isString()); | 261 EXPECT_FALSE(duration.isString()); |
262 | 262 |
263 | 263 |
264 v8::Handle<v8::Object> timingInputNoDuration = v8::Object::New(m_isolate); | 264 v8::Handle<v8::Object> timingInputNoDuration = v8::Object::New(m_isolate); |
265 Dictionary timingInputDictionaryNoDuration = Dictionary(v8::Handle<v8::Value
>::Cast(timingInputNoDuration), m_isolate, exceptionState); | 265 Dictionary timingInputDictionaryNoDuration = Dictionary(v8::Handle<v8::Value
>::Cast(timingInputNoDuration), m_isolate, exceptionState); |
266 | 266 |
267 RefPtrWillBeRawPtr<Animation> animationNoDuration = createAnimation(element.
get(), jsKeyframes, timingInputDictionaryNoDuration, exceptionState); | 267 RefPtrWillBeRawPtr<Animation> animationNoDuration = createAnimation(element.
get(), jsKeyframes, timingInputDictionaryNoDuration, exceptionState); |
268 | 268 |
269 RefPtrWillBeRawPtr<AnimationNodeTiming> specifiedNoDuration = animationNoDur
ation->timing(); | 269 RefPtrWillBeRawPtr<AnimationNodeTiming> specifiedNoDuration = animationNoDur
ation->timing(); |
270 DoubleOrString duration2; | 270 DoubleOrString duration2; |
271 specifiedNoDuration->getDuration("duration", duration2); | 271 specifiedNoDuration->duration(duration2); |
272 EXPECT_FALSE(duration2.isDouble()); | 272 EXPECT_FALSE(duration2.isDouble()); |
273 EXPECT_TRUE(duration2.isString()); | 273 EXPECT_TRUE(duration2.isString()); |
274 EXPECT_EQ("auto", duration2.getAsString()); | 274 EXPECT_EQ("auto", duration2.getAsString()); |
275 } | 275 } |
276 | 276 |
277 TEST_F(AnimationAnimationV8Test, SpecifiedSetters) | 277 TEST_F(AnimationAnimationV8Test, SpecifiedSetters) |
278 { | 278 { |
279 Vector<Dictionary, 0> jsKeyframes; | 279 Vector<Dictionary, 0> jsKeyframes; |
280 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate); | 280 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate); |
281 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cast(ti
mingInput), m_isolate, exceptionState); | 281 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cast(ti
mingInput), m_isolate, exceptionState); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 TEST_F(AnimationAnimationV8Test, SetSpecifiedDuration) | 319 TEST_F(AnimationAnimationV8Test, SetSpecifiedDuration) |
320 { | 320 { |
321 Vector<Dictionary, 0> jsKeyframes; | 321 Vector<Dictionary, 0> jsKeyframes; |
322 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate); | 322 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate); |
323 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cast(ti
mingInput), m_isolate, exceptionState); | 323 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cast(ti
mingInput), m_isolate, exceptionState); |
324 RefPtrWillBeRawPtr<Animation> animation = createAnimation(element.get(), jsK
eyframes, timingInputDictionary, exceptionState); | 324 RefPtrWillBeRawPtr<Animation> animation = createAnimation(element.get(), jsK
eyframes, timingInputDictionary, exceptionState); |
325 | 325 |
326 RefPtrWillBeRawPtr<AnimationNodeTiming> specified = animation->timing(); | 326 RefPtrWillBeRawPtr<AnimationNodeTiming> specified = animation->timing(); |
327 | 327 |
328 DoubleOrString duration; | 328 DoubleOrString duration; |
329 specified->getDuration("duration", duration); | 329 specified->duration(duration); |
330 EXPECT_FALSE(duration.isDouble()); | 330 EXPECT_FALSE(duration.isDouble()); |
331 EXPECT_TRUE(duration.isString()); | 331 EXPECT_TRUE(duration.isString()); |
332 EXPECT_EQ("auto", duration.getAsString()); | 332 EXPECT_EQ("auto", duration.getAsString()); |
333 | 333 |
334 specified->setDuration("duration", 2.5); | 334 DoubleOrString inDuration; |
| 335 inDuration.setDouble(2.5); |
| 336 specified->setDuration(inDuration); |
335 DoubleOrString duration2; | 337 DoubleOrString duration2; |
336 specified->getDuration("duration", duration2); | 338 specified->duration(duration2); |
337 EXPECT_TRUE(duration2.isDouble()); | 339 EXPECT_TRUE(duration2.isDouble()); |
338 EXPECT_EQ(2.5, duration2.getAsDouble()); | 340 EXPECT_EQ(2.5, duration2.getAsDouble()); |
339 EXPECT_FALSE(duration2.isString()); | 341 EXPECT_FALSE(duration2.isString()); |
340 } | 342 } |
341 | 343 |
342 TEST_F(AnimationAnimationTest, TimeToEffectChange) | 344 TEST_F(AnimationAnimationTest, TimeToEffectChange) |
343 { | 345 { |
344 Timing timing; | 346 Timing timing; |
345 timing.iterationDuration = 100; | 347 timing.iterationDuration = 100; |
346 timing.startDelay = 100; | 348 timing.startDelay = 100; |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 EXPECT_EQ(element.get(), animation->target()); | 448 EXPECT_EQ(element.get(), animation->target()); |
447 document.timeline().play(animation.get()); | 449 document.timeline().play(animation.get()); |
448 pageHolder.clear(); | 450 pageHolder.clear(); |
449 element.clear(); | 451 element.clear(); |
450 #if !ENABLE(OILPAN) | 452 #if !ENABLE(OILPAN) |
451 EXPECT_EQ(0, animation->target()); | 453 EXPECT_EQ(0, animation->target()); |
452 #endif | 454 #endif |
453 } | 455 } |
454 | 456 |
455 } // namespace blink | 457 } // namespace blink |
OLD | NEW |