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

Side by Side Diff: Source/core/animation/TimingInput.cpp

Issue 373423002: Split Dictionary's get and convert into DictionaryHelper. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed LICENSE and windows build Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/core/v8/Dictionary.h" 8 #include "bindings/core/v8/Dictionary.h"
9 #include "bindings/core/v8/DictionaryHelper.h"
9 #include "core/css/parser/BisonCSSParser.h" 10 #include "core/css/parser/BisonCSSParser.h"
10 #include "core/css/resolver/CSSToStyleMap.h" 11 #include "core/css/resolver/CSSToStyleMap.h"
11 12
12 namespace WebCore { 13 namespace WebCore {
13 14
14 void TimingInput::setStartDelay(Timing& timing, double startDelay) 15 void TimingInput::setStartDelay(Timing& timing, double startDelay)
15 { 16 {
16 if (std::isfinite(startDelay)) 17 if (std::isfinite(startDelay))
17 timing.startDelay = startDelay / 1000; 18 timing.startDelay = startDelay / 1000;
18 else 19 else
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 } 97 }
97 98
98 Timing TimingInput::convert(const Dictionary& timingInputDictionary) 99 Timing TimingInput::convert(const Dictionary& timingInputDictionary)
99 { 100 {
100 Timing result; 101 Timing result;
101 102
102 // FIXME: This method needs to be refactored to handle invalid 103 // FIXME: This method needs to be refactored to handle invalid
103 // null, NaN, Infinity values better. 104 // null, NaN, Infinity values better.
104 // See: http://www.w3.org/TR/WebIDL/#es-double 105 // See: http://www.w3.org/TR/WebIDL/#es-double
105 double startDelay = Timing::defaults().startDelay; 106 double startDelay = Timing::defaults().startDelay;
106 timingInputDictionary.get("delay", startDelay); 107 DictionaryHelper::get(timingInputDictionary, "delay", startDelay);
107 setStartDelay(result, startDelay); 108 setStartDelay(result, startDelay);
108 109
109 double endDelay = Timing::defaults().endDelay; 110 double endDelay = Timing::defaults().endDelay;
110 timingInputDictionary.get("endDelay", endDelay); 111 DictionaryHelper::get(timingInputDictionary, "endDelay", endDelay);
111 setEndDelay(result, endDelay); 112 setEndDelay(result, endDelay);
112 113
113 String fillMode; 114 String fillMode;
114 timingInputDictionary.get("fill", fillMode); 115 DictionaryHelper::get(timingInputDictionary, "fill", fillMode);
115 setFillMode(result, fillMode); 116 setFillMode(result, fillMode);
116 117
117 double iterationStart = Timing::defaults().iterationStart; 118 double iterationStart = Timing::defaults().iterationStart;
118 timingInputDictionary.get("iterationStart", iterationStart); 119 DictionaryHelper::get(timingInputDictionary, "iterationStart", iterationStar t);
119 setIterationStart(result, iterationStart); 120 setIterationStart(result, iterationStart);
120 121
121 double iterationCount = Timing::defaults().iterationCount; 122 double iterationCount = Timing::defaults().iterationCount;
122 timingInputDictionary.get("iterations", iterationCount); 123 DictionaryHelper::get(timingInputDictionary, "iterations", iterationCount);
123 setIterationCount(result, iterationCount); 124 setIterationCount(result, iterationCount);
124 125
125 double iterationDuration = 0; 126 double iterationDuration = 0;
126 if (timingInputDictionary.get("duration", iterationDuration)) { 127 if (DictionaryHelper::get(timingInputDictionary, "duration", iterationDurati on)) {
127 setIterationDuration(result, iterationDuration); 128 setIterationDuration(result, iterationDuration);
128 } 129 }
129 130
130 double playbackRate = Timing::defaults().playbackRate; 131 double playbackRate = Timing::defaults().playbackRate;
131 timingInputDictionary.get("playbackRate", playbackRate); 132 DictionaryHelper::get(timingInputDictionary, "playbackRate", playbackRate);
132 setPlaybackRate(result, playbackRate); 133 setPlaybackRate(result, playbackRate);
133 134
134 String direction; 135 String direction;
135 timingInputDictionary.get("direction", direction); 136 DictionaryHelper::get(timingInputDictionary, "direction", direction);
136 setPlaybackDirection(result, direction); 137 setPlaybackDirection(result, direction);
137 138
138 String timingFunctionString; 139 String timingFunctionString;
139 timingInputDictionary.get("easing", timingFunctionString); 140 DictionaryHelper::get(timingInputDictionary, "easing", timingFunctionString) ;
140 setTimingFunction(result, timingFunctionString); 141 setTimingFunction(result, timingFunctionString);
141 142
142 result.assertValid(); 143 result.assertValid();
143 144
144 return result; 145 return result;
145 } 146 }
146 147
147 Timing TimingInput::convert(double duration) 148 Timing TimingInput::convert(double duration)
148 { 149 {
149 Timing result; 150 Timing result;
150 setIterationDuration(result, duration); 151 setIterationDuration(result, duration);
151 return result; 152 return result;
152 } 153 }
153 154
154 } // namespace WebCore 155 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698