| Index: third_party/WebKit/Source/core/animation/TimingInput.cpp
|
| diff --git a/third_party/WebKit/Source/core/animation/TimingInput.cpp b/third_party/WebKit/Source/core/animation/TimingInput.cpp
|
| index 5cb2089077d37e3209f238562cbed94d24e32d5c..26c19bcb66f863004e7d2bbf0fc2463113bb35ef 100644
|
| --- a/third_party/WebKit/Source/core/animation/TimingInput.cpp
|
| +++ b/third_party/WebKit/Source/core/animation/TimingInput.cpp
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "core/animation/TimingInput.h"
|
|
|
| +#include "bindings/core/v8/ExceptionState.h"
|
| #include "core/animation/AnimationInputHelpers.h"
|
| #include "core/animation/KeyframeEffectOptions.h"
|
|
|
| @@ -85,41 +86,40 @@ void TimingInput::setPlaybackDirection(Timing& timing, const String& direction)
|
| }
|
| }
|
|
|
| -void TimingInput::setTimingFunction(Timing& timing, const String& timingFunctionString)
|
| +bool TimingInput::setTimingFunction(Timing& timing, const String& timingFunctionString, ExceptionState& exceptionState)
|
| {
|
| - if (RefPtr<TimingFunction> timingFunction = AnimationInputHelpers::parseTimingFunction(timingFunctionString))
|
| + if (RefPtr<TimingFunction> timingFunction = AnimationInputHelpers::parseTimingFunction(timingFunctionString, exceptionState)) {
|
| timing.timingFunction = timingFunction;
|
| - else
|
| - timing.timingFunction = Timing::defaults().timingFunction;
|
| + return true;
|
| + }
|
| + return false;
|
| }
|
|
|
| -Timing TimingInput::convert(const KeyframeEffectOptions& timingInput)
|
| +bool TimingInput::convert(const KeyframeEffectOptions& timingInput, Timing& timingOutput, ExceptionState& exceptionState)
|
| {
|
| - Timing result;
|
| -
|
| - setStartDelay(result, timingInput.delay());
|
| - setEndDelay(result, timingInput.endDelay());
|
| - setFillMode(result, timingInput.fill());
|
| - setIterationStart(result, timingInput.iterationStart());
|
| - setIterationCount(result, timingInput.iterations());
|
| + setStartDelay(timingOutput, timingInput.delay());
|
| + setEndDelay(timingOutput, timingInput.endDelay());
|
| + setFillMode(timingOutput, timingInput.fill());
|
| + setIterationStart(timingOutput, timingInput.iterationStart());
|
| + setIterationCount(timingOutput, timingInput.iterations());
|
| if (timingInput.duration().isUnrestrictedDouble())
|
| - setIterationDuration(result, timingInput.duration().getAsUnrestrictedDouble());
|
| + setIterationDuration(timingOutput, timingInput.duration().getAsUnrestrictedDouble());
|
| else
|
| - setIterationDuration(result, -1);
|
| - setPlaybackRate(result, timingInput.playbackRate());
|
| - setPlaybackDirection(result, timingInput.direction());
|
| - setTimingFunction(result, timingInput.easing());
|
| + setIterationDuration(timingOutput, -1);
|
| + setPlaybackRate(timingOutput, timingInput.playbackRate());
|
| + setPlaybackDirection(timingOutput, timingInput.direction());
|
| + if (!setTimingFunction(timingOutput, timingInput.easing(), exceptionState))
|
| + return false;
|
|
|
| - result.assertValid();
|
| + timingOutput.assertValid();
|
|
|
| - return result;
|
| + return true;
|
| }
|
|
|
| -Timing TimingInput::convert(double duration)
|
| +bool TimingInput::convert(double duration, Timing& timingOutput)
|
| {
|
| - Timing result;
|
| - setIterationDuration(result, duration);
|
| - return result;
|
| + setIterationDuration(timingOutput, duration);
|
| + return true;
|
| }
|
|
|
| } // namespace blink
|
|
|