| 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 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 { | 247 { |
| 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 UnrestrictedDoubleOrString duration; |
| 258 specifiedWithDuration->duration(duration); | 258 specifiedWithDuration->duration(duration); |
| 259 EXPECT_TRUE(duration.isDouble()); | 259 EXPECT_TRUE(duration.isUnrestrictedDouble()); |
| 260 EXPECT_EQ(2.5, duration.getAsDouble()); | 260 EXPECT_EQ(2.5, duration.getAsUnrestrictedDouble()); |
| 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 UnrestrictedDoubleOrString duration2; |
| 271 specifiedNoDuration->duration(duration2); | 271 specifiedNoDuration->duration(duration2); |
| 272 EXPECT_FALSE(duration2.isDouble()); | 272 EXPECT_FALSE(duration2.isUnrestrictedDouble()); |
| 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); |
| 282 RefPtrWillBeRawPtr<Animation> animation = createAnimation(element.get(), jsK
eyframes, timingInputDictionary, exceptionState); | 282 RefPtrWillBeRawPtr<Animation> animation = createAnimation(element.get(), jsK
eyframes, timingInputDictionary, exceptionState); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 | 318 |
| 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 UnrestrictedDoubleOrString duration; |
| 329 specified->duration(duration); | 329 specified->duration(duration); |
| 330 EXPECT_FALSE(duration.isDouble()); | 330 EXPECT_FALSE(duration.isUnrestrictedDouble()); |
| 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 DoubleOrString inDuration; | 334 UnrestrictedDoubleOrString inDuration; |
| 335 inDuration.setDouble(2.5); | 335 inDuration.setUnrestrictedDouble(2.5); |
| 336 specified->setDuration(inDuration); | 336 specified->setDuration(inDuration); |
| 337 DoubleOrString duration2; | 337 UnrestrictedDoubleOrString duration2; |
| 338 specified->duration(duration2); | 338 specified->duration(duration2); |
| 339 EXPECT_TRUE(duration2.isDouble()); | 339 EXPECT_TRUE(duration2.isUnrestrictedDouble()); |
| 340 EXPECT_EQ(2.5, duration2.getAsDouble()); | 340 EXPECT_EQ(2.5, duration2.getAsUnrestrictedDouble()); |
| 341 EXPECT_FALSE(duration2.isString()); | 341 EXPECT_FALSE(duration2.isString()); |
| 342 } | 342 } |
| 343 | 343 |
| 344 TEST_F(AnimationAnimationTest, TimeToEffectChange) | 344 TEST_F(AnimationAnimationTest, TimeToEffectChange) |
| 345 { | 345 { |
| 346 Timing timing; | 346 Timing timing; |
| 347 timing.iterationDuration = 100; | 347 timing.iterationDuration = 100; |
| 348 timing.startDelay = 100; | 348 timing.startDelay = 100; |
| 349 timing.endDelay = 100; | 349 timing.endDelay = 100; |
| 350 timing.fillMode = Timing::FillModeNone; | 350 timing.fillMode = Timing::FillModeNone; |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 EXPECT_EQ(element.get(), animation->target()); | 448 EXPECT_EQ(element.get(), animation->target()); |
| 449 document.timeline().play(animation.get()); | 449 document.timeline().play(animation.get()); |
| 450 pageHolder.clear(); | 450 pageHolder.clear(); |
| 451 element.clear(); | 451 element.clear(); |
| 452 #if !ENABLE(OILPAN) | 452 #if !ENABLE(OILPAN) |
| 453 EXPECT_EQ(0, animation->target()); | 453 EXPECT_EQ(0, animation->target()); |
| 454 #endif | 454 #endif |
| 455 } | 455 } |
| 456 | 456 |
| 457 } // namespace blink | 457 } // namespace blink |
| OLD | NEW |