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

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

Issue 2379863003: Implement AnimationEffectTimingReadOnly interface (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/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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698