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

Unified Diff: third_party/WebKit/Source/core/animation/TimingInput.cpp

Issue 1851003002: Throw TypeError if easing string is invalid. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix "liner"->"linear" typo in ui/file_manager js file Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
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 2f5eea1d927900bc6293c4cd9fb86e740ca21115..84f837f22892bd8531a5356988543b8128e8c4a6 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,34 +86,34 @@ void TimingInput::setPlaybackDirection(Timing& timing, const String& direction)
}
}
-void TimingInput::setTimingFunction(Timing& timing, const String& timingFunctionString, Document* document)
+bool TimingInput::setTimingFunction(Timing& timing, const String& timingFunctionString, Document* document, ExceptionState& exceptionState)
{
- if (RefPtr<TimingFunction> timingFunction = AnimationInputHelpers::parseTimingFunction(timingFunctionString, document))
+ if (RefPtr<TimingFunction> timingFunction = AnimationInputHelpers::parseTimingFunction(timingFunctionString, document, exceptionState)) {
timing.timingFunction = timingFunction;
- else
- timing.timingFunction = Timing::defaults().timingFunction;
+ return true;
+ }
+ return false;
}
-Timing TimingInput::convert(const KeyframeEffectOptions& timingInput, Document* document)
+bool TimingInput::convert(const KeyframeEffectOptions& timingInput, Timing& timingOutput, Document* document, 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(), document);
+ setIterationDuration(timingOutput, -1);
+ setPlaybackRate(timingOutput, timingInput.playbackRate());
+ setPlaybackDirection(timingOutput, timingInput.direction());
+ if (!setTimingFunction(timingOutput, timingInput.easing(), document, exceptionState))
+ return false;
- result.assertValid();
+ timingOutput.assertValid();
- return result;
+ return true;
}
Timing TimingInput::convert(double duration)
« no previous file with comments | « third_party/WebKit/Source/core/animation/TimingInput.h ('k') | third_party/WebKit/Source/core/animation/TimingInputTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698