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

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

Issue 1120003002: [Oilpan] Migrate most classes under core/animations to Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Build fix Created 5 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 182
183 auto iter = supportedAttributes.find(attributeName); 183 auto iter = supportedAttributes.find(attributeName);
184 if (iter == supportedAttributes.end() || !svgElement->propertyFromAttribute( *iter->value)) 184 if (iter == supportedAttributes.end() || !svgElement->propertyFromAttribute( *iter->value))
185 return nullptr; 185 return nullptr;
186 186
187 return iter->value; 187 return iter->value;
188 } 188 }
189 189
190 } // namespace 190 } // namespace
191 191
192 PassRefPtrWillBeRawPtr<AnimationEffect> EffectInput::convert(Element* element, c onst Vector<Dictionary>& keyframeDictionaryVector, ExceptionState& exceptionStat e) 192 AnimationEffect* EffectInput::convert(Element* element, const Vector<Dictionary> & keyframeDictionaryVector, ExceptionState& exceptionState)
193 { 193 {
194 // FIXME: Remove the dependency on element. 194 // FIXME: Remove the dependency on element.
195 if (!element) 195 if (!element)
196 return nullptr; 196 return nullptr;
197 197
198 StyleSheetContents* styleSheetContents = element->document().elementSheet(). contents(); 198 StyleSheetContents* styleSheetContents = element->document().elementSheet(). contents();
199 StringKeyframeVector keyframes; 199 StringKeyframeVector keyframes;
200 double lastOffset = 0; 200 double lastOffset = 0;
201 201
202 for (const auto& keyframeDictionary : keyframeDictionaryVector) { 202 for (const auto& keyframeDictionary : keyframeDictionaryVector) {
203 RefPtrWillBeRawPtr<StringKeyframe> keyframe = StringKeyframe::create(); 203 StringKeyframe* keyframe = StringKeyframe::create();
204 204
205 ScriptValue scriptValue; 205 ScriptValue scriptValue;
206 bool frameHasOffset = DictionaryHelper::get(keyframeDictionary, "offset" , scriptValue) && !scriptValue.isNull(); 206 bool frameHasOffset = DictionaryHelper::get(keyframeDictionary, "offset" , scriptValue) && !scriptValue.isNull();
207 207
208 if (frameHasOffset) { 208 if (frameHasOffset) {
209 double offset; 209 double offset;
210 DictionaryHelper::get(keyframeDictionary, "offset", offset); 210 DictionaryHelper::get(keyframeDictionary, "offset", offset);
211 211
212 // Keyframes with offsets outside the range [0.0, 1.0] are an error. 212 // Keyframes with offsets outside the range [0.0, 1.0] are an error.
213 if (std::isnan(offset)) { 213 if (std::isnan(offset)) {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 continue; 262 continue;
263 263
264 SVGElement* svgElement = toSVGElement(element); 264 SVGElement* svgElement = toSVGElement(element);
265 const QualifiedName* qualifiedName = supportedSVGAttribute(property, svgElement); 265 const QualifiedName* qualifiedName = supportedSVGAttribute(property, svgElement);
266 266
267 if (qualifiedName) 267 if (qualifiedName)
268 keyframe->setPropertyValue(*qualifiedName, value, svgElement); 268 keyframe->setPropertyValue(*qualifiedName, value, svgElement);
269 } 269 }
270 } 270 }
271 271
272 RefPtrWillBeRawPtr<StringKeyframeEffectModel> keyframeEffectModel = StringKe yframeEffectModel::create(keyframes); 272 StringKeyframeEffectModel* keyframeEffectModel = StringKeyframeEffectModel:: create(keyframes);
273 if (keyframeEffectModel->hasSyntheticKeyframes()) { 273 if (keyframeEffectModel->hasSyntheticKeyframes()) {
274 exceptionState.throwDOMException(NotSupportedError, "Partial keyframes a re not supported."); 274 exceptionState.throwDOMException(NotSupportedError, "Partial keyframes a re not supported.");
275 return nullptr; 275 return nullptr;
276 } 276 }
277 if (!keyframeEffectModel->isReplaceOnly()) { 277 if (!keyframeEffectModel->isReplaceOnly()) {
278 exceptionState.throwDOMException(NotSupportedError, "Additive animations are not supported."); 278 exceptionState.throwDOMException(NotSupportedError, "Additive animations are not supported.");
279 return nullptr; 279 return nullptr;
280 } 280 }
281 keyframeEffectModel->forceConversionsToAnimatableValues(*element, element->c omputedStyle()); 281 keyframeEffectModel->forceConversionsToAnimatableValues(*element, element->c omputedStyle());
282 282
283 return keyframeEffectModel; 283 return keyframeEffectModel;
284 } 284 }
285 285
286 PassRefPtrWillBeRawPtr<AnimationEffect> EffectInput::convert(Element* element, c onst AnimationEffectOrDictionarySequence& effectInput, ExceptionState& exception State) 286 AnimationEffect* EffectInput::convert(Element* element, const AnimationEffectOrD ictionarySequence& effectInput, ExceptionState& exceptionState)
287 { 287 {
288 if (effectInput.isAnimationEffect()) 288 if (effectInput.isAnimationEffect())
289 return effectInput.getAsAnimationEffect(); 289 return effectInput.getAsAnimationEffect();
290 if (effectInput.isDictionarySequence()) 290 if (effectInput.isDictionarySequence())
291 return convert(element, effectInput.getAsDictionarySequence(), exception State); 291 return convert(element, effectInput.getAsDictionarySequence(), exception State);
292 return nullptr; 292 return nullptr;
293 } 293 }
294 294
295 } // namespace blink 295 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698