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

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

Issue 1213063004: Rename animatable to interpolable in CSSProperties.in (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 5 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/StringKeyframe.h" 6 #include "core/animation/StringKeyframe.h"
7 7
8 #include "core/animation/AngleSVGInterpolation.h" 8 #include "core/animation/AngleSVGInterpolation.h"
9 #include "core/animation/CSSValueInterpolationType.h" 9 #include "core/animation/CSSValueInterpolationType.h"
10 #include "core/animation/ColorStyleInterpolation.h" 10 #include "core/animation/ColorStyleInterpolation.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 StringKeyframe::StringKeyframe(const StringKeyframe& copyFrom) 48 StringKeyframe::StringKeyframe(const StringKeyframe& copyFrom)
49 : Keyframe(copyFrom.m_offset, copyFrom.m_composite, copyFrom.m_easing) 49 : Keyframe(copyFrom.m_offset, copyFrom.m_composite, copyFrom.m_easing)
50 , m_propertySet(copyFrom.m_propertySet->mutableCopy()) 50 , m_propertySet(copyFrom.m_propertySet->mutableCopy())
51 , m_svgPropertyMap(copyFrom.m_svgPropertyMap) 51 , m_svgPropertyMap(copyFrom.m_svgPropertyMap)
52 { 52 {
53 } 53 }
54 54
55 void StringKeyframe::setPropertyValue(CSSPropertyID property, const String& valu e, Element* element, StyleSheetContents* styleSheetContents) 55 void StringKeyframe::setPropertyValue(CSSPropertyID property, const String& valu e, Element* element, StyleSheetContents* styleSheetContents)
56 { 56 {
57 ASSERT(property != CSSPropertyInvalid); 57 ASSERT(property != CSSPropertyInvalid);
58 if (CSSAnimations::isAllowedAnimation(property)) 58 if (CSSAnimations::isAnimatableProperty(property))
59 m_propertySet->setProperty(property, value, false, styleSheetContents); 59 m_propertySet->setProperty(property, value, false, styleSheetContents);
60 } 60 }
61 61
62 void StringKeyframe::setPropertyValue(CSSPropertyID property, PassRefPtrWillBeRa wPtr<CSSValue> value) 62 void StringKeyframe::setPropertyValue(CSSPropertyID property, PassRefPtrWillBeRa wPtr<CSSValue> value)
63 { 63 {
64 ASSERT(property != CSSPropertyInvalid); 64 ASSERT(property != CSSPropertyInvalid);
65 ASSERT(CSSAnimations::isAllowedAnimation(property)); 65 ASSERT(CSSAnimations::isAnimatableProperty(property));
66 m_propertySet->setProperty(property, value, false); 66 m_propertySet->setProperty(property, value, false);
67 } 67 }
68 68
69 void StringKeyframe::setPropertyValue(const QualifiedName& attributeName, const String& value, Element* element) 69 void StringKeyframe::setPropertyValue(const QualifiedName& attributeName, const String& value, Element* element)
70 { 70 {
71 ASSERT(element->isSVGElement()); 71 ASSERT(element->isSVGElement());
72 m_svgPropertyMap.set(&attributeName, value); 72 m_svgPropertyMap.set(&attributeName, value);
73 } 73 }
74 74
75 PropertyHandleSet StringKeyframe::properties() const 75 PropertyHandleSet StringKeyframe::properties() const
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 } 154 }
155 155
156 const Vector<const InterpolationType*>* applicableTypesForProperty(CSSPropertyID property) 156 const Vector<const InterpolationType*>* applicableTypesForProperty(CSSPropertyID property)
157 { 157 {
158 using ApplicableTypesMap = HashMap<CSSPropertyID, const Vector<const Interpo lationType*>*>; 158 using ApplicableTypesMap = HashMap<CSSPropertyID, const Vector<const Interpo lationType*>*>;
159 DEFINE_STATIC_LOCAL(ApplicableTypesMap, applicableTypesMap, ()); 159 DEFINE_STATIC_LOCAL(ApplicableTypesMap, applicableTypesMap, ());
160 auto entry = applicableTypesMap.find(property); 160 auto entry = applicableTypesMap.find(property);
161 if (entry != applicableTypesMap.end()) 161 if (entry != applicableTypesMap.end())
162 return entry->value; 162 return entry->value;
163 163
164 // TODO(alancutter): Support all animatable CSS properties here so we can st op falling back to the old StyleInterpolation implementation. 164 // TODO(alancutter): Support all interpolable CSS properties here so we can stop falling back to the old StyleInterpolation implementation.
165 if (CSSPropertyMetadata::isAnimatableProperty(property)) 165 if (CSSPropertyMetadata::isInterpolableProperty(property))
166 return nullptr; 166 return nullptr;
167 167
168 auto applicableTypes = new Vector<const InterpolationType*>(); 168 auto applicableTypes = new Vector<const InterpolationType*>();
169 applicableTypes->append(new CSSValueInterpolationType(property)); 169 applicableTypes->append(new CSSValueInterpolationType(property));
170 applicableTypesMap.add(property, applicableTypes); 170 applicableTypesMap.add(property, applicableTypes);
171 return applicableTypes; 171 return applicableTypes;
172 } 172 }
173 173
174 } // namespace 174 } // namespace
175 175
(...skipping 14 matching lines...) Expand all
190 190
191 // FIXME: Remove this flag once we can rely on legacy's behaviour being corr ect. 191 // FIXME: Remove this flag once we can rely on legacy's behaviour being corr ect.
192 bool forceDefaultInterpolation = false; 192 bool forceDefaultInterpolation = false;
193 193
194 // FIXME: Remove this check once neutral keyframes are implemented in String Keyframes. 194 // FIXME: Remove this check once neutral keyframes are implemented in String Keyframes.
195 if (!fromCSSValue || !toCSSValue) 195 if (!fromCSSValue || !toCSSValue)
196 return DeferredLegacyStyleInterpolation::create(fromCSSValue, toCSSValue , property); 196 return DeferredLegacyStyleInterpolation::create(fromCSSValue, toCSSValue , property);
197 197
198 ASSERT(fromCSSValue && toCSSValue); 198 ASSERT(fromCSSValue && toCSSValue);
199 199
200 if (!CSSPropertyMetadata::isAnimatableProperty(property)) { 200 if (!CSSPropertyMetadata::isInterpolableProperty(property)) {
201 if (fromCSSValue == toCSSValue) 201 if (fromCSSValue == toCSSValue)
202 return ConstantStyleInterpolation::create(fromCSSValue, property); 202 return ConstantStyleInterpolation::create(fromCSSValue, property);
203 203
204 return nullptr; 204 return nullptr;
205 } 205 }
206 206
207 switch (property) { 207 switch (property) {
208 case CSSPropertyLineHeight: 208 case CSSPropertyLineHeight:
209 if (LengthStyleInterpolation::canCreateFrom(*fromCSSValue) && LengthStyl eInterpolation::canCreateFrom(*toCSSValue)) 209 if (LengthStyleInterpolation::canCreateFrom(*fromCSSValue) && LengthStyl eInterpolation::canCreateFrom(*toCSSValue))
210 return LengthStyleInterpolation::create(*fromCSSValue, *toCSSValue, property, RangeNonNegative); 210 return LengthStyleInterpolation::create(*fromCSSValue, *toCSSValue, property, RangeNonNegative);
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 RefPtrWillBeRawPtr<SVGPropertyBase> fromValue = attribute->currentValueBase( )->cloneForAnimation(m_value); 594 RefPtrWillBeRawPtr<SVGPropertyBase> fromValue = attribute->currentValueBase( )->cloneForAnimation(m_value);
595 RefPtrWillBeRawPtr<SVGPropertyBase> toValue = attribute->currentValueBase()- >cloneForAnimation(toSVGPropertySpecificKeyframe(end).value()); 595 RefPtrWillBeRawPtr<SVGPropertyBase> toValue = attribute->currentValueBase()- >cloneForAnimation(toSVGPropertySpecificKeyframe(end).value());
596 596
597 if (!fromValue || !toValue) 597 if (!fromValue || !toValue)
598 return nullptr; 598 return nullptr;
599 599
600 return createSVGInterpolation(fromValue.get(), toValue.get(), attribute.get( )); 600 return createSVGInterpolation(fromValue.get(), toValue.get(), attribute.get( ));
601 } 601 }
602 602
603 } // namespace blink 603 } // namespace blink
OLDNEW
« no previous file with comments | « Source/build/scripts/make_css_property_metadata.py ('k') | Source/core/animation/css/CSSAnimatableValueFactory.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698