| 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 "core/animation/AnimationEffectTiming.h" | 5 #include "core/animation/AnimationEffectTiming.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/ExceptionState.h" | 7 #include "bindings/core/v8/ExceptionState.h" |
| 8 #include "bindings/core/v8/UnrestrictedDoubleOrString.h" | 8 #include "bindings/core/v8/UnrestrictedDoubleOrString.h" |
| 9 #include "core/animation/AnimationEffectReadOnly.h" | 9 #include "core/animation/AnimationEffectReadOnly.h" |
| 10 #include "core/animation/AnimationEffectTimingReadOnly.h" |
| 10 #include "core/animation/KeyframeEffect.h" | 11 #include "core/animation/KeyframeEffect.h" |
| 11 #include "platform/animation/TimingFunction.h" | 12 #include "platform/animation/TimingFunction.h" |
| 12 | 13 |
| 13 namespace blink { | 14 namespace blink { |
| 14 | 15 |
| 15 AnimationEffectTiming* AnimationEffectTiming::create(AnimationEffectReadOnly* pa
rent) | 16 AnimationEffectTiming* AnimationEffectTiming::create(AnimationEffectReadOnly* pa
rent) |
| 16 { | 17 { |
| 17 return new AnimationEffectTiming(parent); | 18 return new AnimationEffectTiming(parent); |
| 18 } | 19 } |
| 19 | 20 |
| 20 AnimationEffectTiming::AnimationEffectTiming(AnimationEffectReadOnly* parent) | 21 AnimationEffectTiming::AnimationEffectTiming(AnimationEffectReadOnly* parent) |
| 21 : m_parent(parent) | 22 : AnimationEffectTimingReadOnly(parent) |
| 22 { | 23 { |
| 23 } | 24 } |
| 24 | 25 |
| 25 double AnimationEffectTiming::delay() | |
| 26 { | |
| 27 return m_parent->specifiedTiming().startDelay * 1000; | |
| 28 } | |
| 29 | |
| 30 double AnimationEffectTiming::endDelay() | |
| 31 { | |
| 32 return m_parent->specifiedTiming().endDelay * 1000; | |
| 33 } | |
| 34 | |
| 35 String AnimationEffectTiming::fill() | |
| 36 { | |
| 37 return Timing::fillModeString(m_parent->specifiedTiming().fillMode); | |
| 38 } | |
| 39 | |
| 40 double AnimationEffectTiming::iterationStart() | |
| 41 { | |
| 42 return m_parent->specifiedTiming().iterationStart; | |
| 43 } | |
| 44 | |
| 45 double AnimationEffectTiming::iterations() | |
| 46 { | |
| 47 return m_parent->specifiedTiming().iterationCount; | |
| 48 } | |
| 49 | |
| 50 void AnimationEffectTiming::duration(UnrestrictedDoubleOrString& returnValue) | |
| 51 { | |
| 52 if (std::isnan(m_parent->specifiedTiming().iterationDuration)) | |
| 53 returnValue.setString("auto"); | |
| 54 else | |
| 55 returnValue.setUnrestrictedDouble(m_parent->specifiedTiming().iterationD
uration * 1000); | |
| 56 } | |
| 57 | |
| 58 double AnimationEffectTiming::playbackRate() | |
| 59 { | |
| 60 return m_parent->specifiedTiming().playbackRate; | |
| 61 } | |
| 62 | |
| 63 String AnimationEffectTiming::direction() | |
| 64 { | |
| 65 return Timing::playbackDirectionString(m_parent->specifiedTiming().direction
); | |
| 66 } | |
| 67 | |
| 68 String AnimationEffectTiming::easing() | |
| 69 { | |
| 70 return m_parent->specifiedTiming().timingFunction->toString(); | |
| 71 } | |
| 72 | |
| 73 void AnimationEffectTiming::setDelay(double delay) | 26 void AnimationEffectTiming::setDelay(double delay) |
| 74 { | 27 { |
| 75 Timing timing = m_parent->specifiedTiming(); | 28 Timing timing = m_parent->specifiedTiming(); |
| 76 TimingInput::setStartDelay(timing, delay); | 29 TimingInput::setStartDelay(timing, delay); |
| 77 m_parent->updateSpecifiedTiming(timing); | 30 m_parent->updateSpecifiedTiming(timing); |
| 78 } | 31 } |
| 79 | 32 |
| 80 void AnimationEffectTiming::setEndDelay(double endDelay) | 33 void AnimationEffectTiming::setEndDelay(double endDelay) |
| 81 { | 34 { |
| 82 Timing timing = m_parent->specifiedTiming(); | 35 Timing timing = m_parent->specifiedTiming(); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 // point, so we pass nullptr in to setTimingFunction. This means that these | 86 // point, so we pass nullptr in to setTimingFunction. This means that these |
| 134 // calls are not considered in the WebAnimationsEasingAsFunction* | 87 // calls are not considered in the WebAnimationsEasingAsFunction* |
| 135 // UseCounters, but the bug we are tracking there does not come through | 88 // UseCounters, but the bug we are tracking there does not come through |
| 136 // this interface. | 89 // this interface. |
| 137 if (TimingInput::setTimingFunction(timing, easing, nullptr, exceptionState)) | 90 if (TimingInput::setTimingFunction(timing, easing, nullptr, exceptionState)) |
| 138 m_parent->updateSpecifiedTiming(timing); | 91 m_parent->updateSpecifiedTiming(timing); |
| 139 } | 92 } |
| 140 | 93 |
| 141 DEFINE_TRACE(AnimationEffectTiming) | 94 DEFINE_TRACE(AnimationEffectTiming) |
| 142 { | 95 { |
| 143 visitor->trace(m_parent); | 96 AnimationEffectTimingReadOnly::trace(visitor); |
| 144 } | 97 } |
| 145 | 98 |
| 146 } // namespace blink | 99 } // namespace blink |
| OLD | NEW |