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/TimingInput.h" | 6 #include "core/animation/TimingInput.h" |
7 | 7 |
8 #include "bindings/v8/Dictionary.h" | 8 #include "bindings/v8/Dictionary.h" |
9 #include "core/css/parser/BisonCSSParser.h" | 9 #include "core/css/parser/BisonCSSParser.h" |
10 #include "core/css/resolver/CSSToStyleMap.h" | 10 #include "core/css/resolver/CSSToStyleMap.h" |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 timing.timingFunction = Timing::defaults().timingFunction; | 100 timing.timingFunction = Timing::defaults().timingFunction; |
101 } | 101 } |
102 | 102 |
103 Timing TimingInput::convert(const Dictionary& timingInputDictionary) | 103 Timing TimingInput::convert(const Dictionary& timingInputDictionary) |
104 { | 104 { |
105 Timing result; | 105 Timing result; |
106 | 106 |
107 // FIXME: This method needs to be refactored to handle invalid | 107 // FIXME: This method needs to be refactored to handle invalid |
108 // null, NaN, Infinity values better. | 108 // null, NaN, Infinity values better. |
109 // See: http://www.w3.org/TR/WebIDL/#es-double | 109 // See: http://www.w3.org/TR/WebIDL/#es-double |
110 double startDelay = 0; | 110 double startDelay = Timing::defaults().startDelay; |
111 timingInputDictionary.get("delay", startDelay); | 111 timingInputDictionary.get("delay", startDelay); |
112 setStartDelay(result, startDelay); | 112 setStartDelay(result, startDelay); |
113 | 113 |
114 double endDelay = 0; | 114 double endDelay = Timing::defaults().endDelay; |
115 timingInputDictionary.get("endDelay", endDelay); | 115 timingInputDictionary.get("endDelay", endDelay); |
116 setEndDelay(result, endDelay); | 116 setEndDelay(result, endDelay); |
117 | 117 |
118 String fillMode; | 118 String fillMode; |
119 timingInputDictionary.get("fill", fillMode); | 119 timingInputDictionary.get("fill", fillMode); |
120 setFillMode(result, fillMode); | 120 setFillMode(result, fillMode); |
121 | 121 |
122 double iterationStart = 0; | 122 double iterationStart = Timing::defaults().iterationStart; |
123 timingInputDictionary.get("iterationStart", iterationStart); | 123 timingInputDictionary.get("iterationStart", iterationStart); |
124 setIterationStart(result, iterationStart); | 124 setIterationStart(result, iterationStart); |
125 | 125 |
126 double iterationCount = 1; | 126 double iterationCount = Timing::defaults().iterationCount; |
127 timingInputDictionary.get("iterations", iterationCount); | 127 timingInputDictionary.get("iterations", iterationCount); |
128 setIterationCount(result, iterationCount); | 128 setIterationCount(result, iterationCount); |
129 | 129 |
130 v8::Local<v8::Value> iterationDurationValue; | 130 v8::Local<v8::Value> iterationDurationValue; |
131 if (timingInputDictionary.get("duration", iterationDurationValue)) { | 131 if (timingInputDictionary.get("duration", iterationDurationValue)) { |
132 double iterationDuration = iterationDurationValue->NumberValue(); | 132 double iterationDuration = iterationDurationValue->NumberValue(); |
133 setIterationDuration(result, iterationDuration); | 133 setIterationDuration(result, iterationDuration); |
134 } | 134 } |
135 | 135 |
136 double playbackRate = 1; | 136 double playbackRate = Timing::defaults().playbackRate; |
137 timingInputDictionary.get("playbackRate", playbackRate); | 137 timingInputDictionary.get("playbackRate", playbackRate); |
138 setPlaybackRate(result, playbackRate); | 138 setPlaybackRate(result, playbackRate); |
139 | 139 |
140 String direction; | 140 String direction; |
141 timingInputDictionary.get("direction", direction); | 141 timingInputDictionary.get("direction", direction); |
142 setPlaybackDirection(result, direction); | 142 setPlaybackDirection(result, direction); |
143 | 143 |
144 String timingFunctionString; | 144 String timingFunctionString; |
145 timingInputDictionary.get("easing", timingFunctionString); | 145 timingInputDictionary.get("easing", timingFunctionString); |
146 setTimingFunction(result, timingFunctionString); | 146 setTimingFunction(result, timingFunctionString); |
147 | 147 |
148 result.assertValid(); | 148 result.assertValid(); |
149 | 149 |
150 return result; | 150 return result; |
151 } | 151 } |
152 | 152 |
153 Timing TimingInput::convert(double duration) | 153 Timing TimingInput::convert(double duration) |
154 { | 154 { |
155 Timing result; | 155 Timing result; |
156 setIterationDuration(result, duration); | 156 setIterationDuration(result, duration); |
157 return result; | 157 return result; |
158 } | 158 } |
159 | 159 |
160 } // namespace WebCore | 160 } // namespace WebCore |
OLD | NEW |