| Index: Source/core/animation/TimingInput.cpp
|
| diff --git a/Source/core/animation/TimingInput.cpp b/Source/core/animation/TimingInput.cpp
|
| index 3c04e6ee44b3d054114e23fda4d8cbc3736847b9..64f510ec37448a4196874fdd40e88e100795259e 100644
|
| --- a/Source/core/animation/TimingInput.cpp
|
| +++ b/Source/core/animation/TimingInput.cpp
|
| @@ -5,8 +5,8 @@
|
| #include "config.h"
|
| #include "core/animation/TimingInput.h"
|
|
|
| -#include "bindings/core/v8/Dictionary.h"
|
| #include "core/animation/AnimationInputHelpers.h"
|
| +#include "core/animation/AnimationTimingProperties.h"
|
|
|
| namespace blink {
|
|
|
| @@ -94,49 +94,22 @@ void TimingInput::setTimingFunction(Timing& timing, const String& timingFunction
|
| timing.timingFunction = Timing::defaults().timingFunction;
|
| }
|
|
|
| -Timing TimingInput::convert(const Dictionary& timingInputDictionary)
|
| +Timing TimingInput::convert(const AnimationTimingProperties& timingInput)
|
| {
|
| Timing result;
|
|
|
| - // FIXME: This method needs to be refactored to handle invalid
|
| - // null, NaN, Infinity values better.
|
| - // See: http://www.w3.org/TR/WebIDL/#es-double
|
| - double startDelay = Timing::defaults().startDelay;
|
| - DictionaryHelper::get(timingInputDictionary, "delay", startDelay);
|
| - setStartDelay(result, startDelay);
|
| -
|
| - double endDelay = Timing::defaults().endDelay;
|
| - DictionaryHelper::get(timingInputDictionary, "endDelay", endDelay);
|
| - setEndDelay(result, endDelay);
|
| -
|
| - String fillMode;
|
| - DictionaryHelper::get(timingInputDictionary, "fill", fillMode);
|
| - setFillMode(result, fillMode);
|
| -
|
| - double iterationStart = Timing::defaults().iterationStart;
|
| - DictionaryHelper::get(timingInputDictionary, "iterationStart", iterationStart);
|
| - setIterationStart(result, iterationStart);
|
| -
|
| - double iterationCount = Timing::defaults().iterationCount;
|
| - DictionaryHelper::get(timingInputDictionary, "iterations", iterationCount);
|
| - setIterationCount(result, iterationCount);
|
| -
|
| - double iterationDuration = 0;
|
| - if (DictionaryHelper::get(timingInputDictionary, "duration", iterationDuration)) {
|
| - setIterationDuration(result, iterationDuration);
|
| - }
|
| -
|
| - double playbackRate = Timing::defaults().playbackRate;
|
| - DictionaryHelper::get(timingInputDictionary, "playbackRate", playbackRate);
|
| - setPlaybackRate(result, playbackRate);
|
| -
|
| - String direction;
|
| - DictionaryHelper::get(timingInputDictionary, "direction", direction);
|
| - setPlaybackDirection(result, direction);
|
| -
|
| - String timingFunctionString;
|
| - DictionaryHelper::get(timingInputDictionary, "easing", timingFunctionString);
|
| - setTimingFunction(result, timingFunctionString);
|
| + setStartDelay(result, timingInput.delay());
|
| + setEndDelay(result, timingInput.endDelay());
|
| + setFillMode(result, timingInput.fill());
|
| + setIterationStart(result, timingInput.iterationStart());
|
| + setIterationCount(result, timingInput.iterations());
|
| + if (timingInput.duration().isUnrestrictedDouble())
|
| + setIterationDuration(result, timingInput.duration().getAsUnrestrictedDouble());
|
| + else
|
| + setIterationDuration(result, -1);
|
| + setPlaybackRate(result, timingInput.playbackRate());
|
| + setPlaybackDirection(result, timingInput.direction());
|
| + setTimingFunction(result, timingInput.easing());
|
|
|
| result.assertValid();
|
|
|
|
|