| 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 |