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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 return animateInternal(element, effect, TimingInput::convert(duration)); | 54 return animateInternal(element, effect, TimingInput::convert(duration)); |
55 } | 55 } |
56 | 56 |
57 static AnimationPlayer* animate(Element& element, PassRefPtrWillBeRawPtr<Ani
mationEffect> effect) | 57 static AnimationPlayer* animate(Element& element, PassRefPtrWillBeRawPtr<Ani
mationEffect> effect) |
58 { | 58 { |
59 return animateInternal(element, effect, Timing()); | 59 return animateInternal(element, effect, Timing()); |
60 } | 60 } |
61 | 61 |
62 static AnimationPlayer* animate(Element& element, const Vector<Dictionary>&
keyframeDictionaryVector, const Dictionary& timingInputDictionary, ExceptionStat
e& exceptionState) | 62 static AnimationPlayer* animate(Element& element, const Vector<Dictionary>&
keyframeDictionaryVector, const Dictionary& timingInputDictionary, ExceptionStat
e& exceptionState) |
63 { | 63 { |
64 return animateInternal(element, EffectInput::convert(&element, keyframeD
ictionaryVector, exceptionState), TimingInput::convert(timingInputDictionary)); | 64 RefPtrWillBeRawPtr<AnimationEffect> effect = EffectInput::convert(&eleme
nt, keyframeDictionaryVector, exceptionState); |
| 65 if (exceptionState.hadException()) |
| 66 return 0; |
| 67 ASSERT(effect); |
| 68 return animateInternal(element, effect.release(), TimingInput::convert(t
imingInputDictionary)); |
65 } | 69 } |
66 | 70 |
67 static AnimationPlayer* animate(Element& element, const Vector<Dictionary>&
keyframeDictionaryVector, double duration, ExceptionState& exceptionState) | 71 static AnimationPlayer* animate(Element& element, const Vector<Dictionary>&
keyframeDictionaryVector, double duration, ExceptionState& exceptionState) |
68 { | 72 { |
69 return animateInternal(element, EffectInput::convert(&element, keyframeD
ictionaryVector, exceptionState), TimingInput::convert(duration)); | 73 RefPtrWillBeRawPtr<AnimationEffect> effect = EffectInput::convert(&eleme
nt, keyframeDictionaryVector, exceptionState); |
| 74 if (exceptionState.hadException()) |
| 75 return 0; |
| 76 ASSERT(effect); |
| 77 return animateInternal(element, effect.release(), TimingInput::convert(d
uration)); |
70 } | 78 } |
71 | 79 |
72 static AnimationPlayer* animate(Element& element, const Vector<Dictionary>&
keyframeDictionaryVector, ExceptionState& exceptionState) | 80 static AnimationPlayer* animate(Element& element, const Vector<Dictionary>&
keyframeDictionaryVector, ExceptionState& exceptionState) |
73 { | 81 { |
74 return animateInternal(element, EffectInput::convert(&element, keyframeD
ictionaryVector, exceptionState), Timing()); | 82 RefPtrWillBeRawPtr<AnimationEffect> effect = EffectInput::convert(&eleme
nt, keyframeDictionaryVector, exceptionState); |
| 83 if (exceptionState.hadException()) |
| 84 return 0; |
| 85 ASSERT(effect); |
| 86 return animateInternal(element, effect.release(), Timing()); |
75 } | 87 } |
76 | 88 |
77 private: | 89 private: |
78 static AnimationPlayer* animateInternal(Element& element, PassRefPtrWillBeRa
wPtr<AnimationEffect> effect, const Timing& timing) | 90 static AnimationPlayer* animateInternal(Element& element, PassRefPtrWillBeRa
wPtr<AnimationEffect> effect, const Timing& timing) |
79 { | 91 { |
80 if (RuntimeEnabledFeatures::webAnimationsElementAnimateEnabled()) { | 92 if (RuntimeEnabledFeatures::webAnimationsElementAnimateEnabled()) { |
81 RefPtr<Animation> animation = Animation::create(&element, effect, ti
ming); | 93 RefPtr<Animation> animation = Animation::create(&element, effect, ti
ming); |
82 return element.document().timeline().play(animation.get()); | 94 return element.document().timeline().play(animation.get()); |
83 } | 95 } |
84 return 0; | 96 return 0; |
85 } | 97 } |
86 }; | 98 }; |
87 | 99 |
88 } // namespace WebCore | 100 } // namespace WebCore |
89 | 101 |
90 #endif // ElementAnimation_h | 102 #endif // ElementAnimation_h |
OLD | NEW |