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

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

Issue 1150313002: *** NOT FOR LANDING *** Unprefix multicol behind a flag (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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 | 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/ColorStyleInterpolation.h" 9 #include "core/animation/ColorStyleInterpolation.h"
10 #include "core/animation/CompositorAnimations.h" 10 #include "core/animation/CompositorAnimations.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 { 119 {
120 if (!m_animatableValueCache && (baseStyle || !m_value->isInheritedValue())) 120 if (!m_animatableValueCache && (baseStyle || !m_value->isInheritedValue()))
121 m_animatableValueCache = StyleResolver::createAnimatableValueSnapshot(el ement, baseStyle, property, m_value.get()); 121 m_animatableValueCache = StyleResolver::createAnimatableValueSnapshot(el ement, baseStyle, property, m_value.get());
122 } 122 }
123 123
124 namespace { 124 namespace {
125 InterpolationRange setRange(CSSPropertyID id) 125 InterpolationRange setRange(CSSPropertyID id)
126 { 126 {
127 switch (id) { 127 switch (id) {
128 case CSSPropertyOrphans: 128 case CSSPropertyOrphans:
129 case CSSPropertyWebkitColumnCount: 129 case CSSPropertyColumnCount:
130 case CSSPropertyWidows: 130 case CSSPropertyWidows:
131 return RangeRoundGreaterThanOrEqualToOne; 131 return RangeRoundGreaterThanOrEqualToOne;
132 case CSSPropertyWebkitColumnRuleWidth: 132 case CSSPropertyColumnRuleWidth:
133 case CSSPropertyZIndex: 133 case CSSPropertyZIndex:
134 return RangeRound; 134 return RangeRound;
135 case CSSPropertyFloodOpacity: 135 case CSSPropertyFloodOpacity:
136 case CSSPropertyStopOpacity: 136 case CSSPropertyStopOpacity:
137 case CSSPropertyStrokeOpacity: 137 case CSSPropertyStrokeOpacity:
138 case CSSPropertyShapeImageThreshold: 138 case CSSPropertyShapeImageThreshold:
139 return RangeZeroToOne; 139 return RangeZeroToOne;
140 case CSSPropertyFillOpacity: 140 case CSSPropertyFillOpacity:
141 case CSSPropertyOpacity: 141 case CSSPropertyOpacity:
142 return RangeOpacityFIXME; 142 return RangeOpacityFIXME;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 case CSSPropertyPaddingRight: 205 case CSSPropertyPaddingRight:
206 case CSSPropertyPaddingTop: 206 case CSSPropertyPaddingTop:
207 case CSSPropertyPerspective: 207 case CSSPropertyPerspective:
208 case CSSPropertyR: 208 case CSSPropertyR:
209 case CSSPropertyRx: 209 case CSSPropertyRx:
210 case CSSPropertyRy: 210 case CSSPropertyRy:
211 case CSSPropertyShapeMargin: 211 case CSSPropertyShapeMargin:
212 case CSSPropertyStrokeWidth: 212 case CSSPropertyStrokeWidth:
213 case CSSPropertyWebkitBorderHorizontalSpacing: 213 case CSSPropertyWebkitBorderHorizontalSpacing:
214 case CSSPropertyWebkitBorderVerticalSpacing: 214 case CSSPropertyWebkitBorderVerticalSpacing:
215 case CSSPropertyWebkitColumnGap: 215 case CSSPropertyColumnGap:
216 case CSSPropertyWebkitColumnWidth: 216 case CSSPropertyColumnWidth:
217 case CSSPropertyWidth: 217 case CSSPropertyWidth:
218 range = RangeNonNegative; 218 range = RangeNonNegative;
219 // Fall through 219 // Fall through
220 case CSSPropertyBaselineShift: 220 case CSSPropertyBaselineShift:
221 case CSSPropertyBottom: 221 case CSSPropertyBottom:
222 case CSSPropertyCx: 222 case CSSPropertyCx:
223 case CSSPropertyCy: 223 case CSSPropertyCy:
224 case CSSPropertyLeft: 224 case CSSPropertyLeft:
225 case CSSPropertyLetterSpacing: 225 case CSSPropertyLetterSpacing:
226 case CSSPropertyMarginBottom: 226 case CSSPropertyMarginBottom:
227 case CSSPropertyMarginLeft: 227 case CSSPropertyMarginLeft:
228 case CSSPropertyMarginRight: 228 case CSSPropertyMarginRight:
229 case CSSPropertyMarginTop: 229 case CSSPropertyMarginTop:
230 case CSSPropertyMotionOffset: 230 case CSSPropertyMotionOffset:
231 case CSSPropertyOutlineOffset: 231 case CSSPropertyOutlineOffset:
232 case CSSPropertyRight: 232 case CSSPropertyRight:
233 case CSSPropertyStrokeDashoffset: 233 case CSSPropertyStrokeDashoffset:
234 case CSSPropertyTop: 234 case CSSPropertyTop:
235 case CSSPropertyVerticalAlign: 235 case CSSPropertyVerticalAlign:
236 case CSSPropertyWordSpacing: 236 case CSSPropertyWordSpacing:
237 case CSSPropertyWebkitColumnRuleWidth: 237 case CSSPropertyColumnRuleWidth:
238 case CSSPropertyWebkitPerspectiveOriginX: 238 case CSSPropertyWebkitPerspectiveOriginX:
239 case CSSPropertyWebkitPerspectiveOriginY: 239 case CSSPropertyWebkitPerspectiveOriginY:
240 case CSSPropertyWebkitTransformOriginX: 240 case CSSPropertyWebkitTransformOriginX:
241 case CSSPropertyWebkitTransformOriginY: 241 case CSSPropertyWebkitTransformOriginY:
242 case CSSPropertyWebkitTransformOriginZ: 242 case CSSPropertyWebkitTransformOriginZ:
243 case CSSPropertyX: 243 case CSSPropertyX:
244 case CSSPropertyY: 244 case CSSPropertyY:
245 if (LengthStyleInterpolation::canCreateFrom(*fromCSSValue, property) && LengthStyleInterpolation::canCreateFrom(*toCSSValue, property)) 245 if (LengthStyleInterpolation::canCreateFrom(*fromCSSValue, property) && LengthStyleInterpolation::canCreateFrom(*toCSSValue, property))
246 return LengthStyleInterpolation::create(*fromCSSValue, *toCSSValue, property, range); 246 return LengthStyleInterpolation::create(*fromCSSValue, *toCSSValue, property, range);
247 247
248 // FIXME: Handle keywords e.g. 'smaller', 'larger'. 248 // FIXME: Handle keywords e.g. 'smaller', 'larger'.
249 if (property == CSSPropertyFontSize) 249 if (property == CSSPropertyFontSize)
250 fallBackToLegacy = true; 250 fallBackToLegacy = true;
251 251
252 // FIXME: Handle keywords e.g. 'baseline', 'sub'. 252 // FIXME: Handle keywords e.g. 'baseline', 'sub'.
253 if (property == CSSPropertyBaselineShift) 253 if (property == CSSPropertyBaselineShift)
254 fallBackToLegacy = true; 254 fallBackToLegacy = true;
255 255
256 break; 256 break;
257 case CSSPropertyOrphans: 257 case CSSPropertyOrphans:
258 case CSSPropertyWidows: 258 case CSSPropertyWidows:
259 case CSSPropertyZIndex: 259 case CSSPropertyZIndex:
260 case CSSPropertyWebkitColumnCount: 260 case CSSPropertyColumnCount:
261 case CSSPropertyShapeImageThreshold: 261 case CSSPropertyShapeImageThreshold:
262 case CSSPropertyFillOpacity: 262 case CSSPropertyFillOpacity:
263 case CSSPropertyFloodOpacity: 263 case CSSPropertyFloodOpacity:
264 case CSSPropertyFontSizeAdjust: 264 case CSSPropertyFontSizeAdjust:
265 case CSSPropertyOpacity: 265 case CSSPropertyOpacity:
266 case CSSPropertyStopOpacity: 266 case CSSPropertyStopOpacity:
267 case CSSPropertyStrokeOpacity: 267 case CSSPropertyStrokeOpacity:
268 case CSSPropertyStrokeMiterlimit: 268 case CSSPropertyStrokeMiterlimit:
269 if (DoubleStyleInterpolation::canCreateFrom(*fromCSSValue) && DoubleStyl eInterpolation::canCreateFrom(*toCSSValue)) 269 if (DoubleStyleInterpolation::canCreateFrom(*fromCSSValue) && DoubleStyl eInterpolation::canCreateFrom(*toCSSValue))
270 return DoubleStyleInterpolation::create(*fromCSSValue, *toCSSValue, property, toCSSPrimitiveValue(fromCSSValue)->primitiveType(), setRange(property) ); 270 return DoubleStyleInterpolation::create(*fromCSSValue, *toCSSValue, property, toCSSPrimitiveValue(fromCSSValue)->primitiveType(), setRange(property) );
(...skipping 17 matching lines...) Expand all
288 case CSSPropertyBorderRightColor: 288 case CSSPropertyBorderRightColor:
289 case CSSPropertyBorderTopColor: 289 case CSSPropertyBorderTopColor:
290 case CSSPropertyColor: 290 case CSSPropertyColor:
291 case CSSPropertyFill: 291 case CSSPropertyFill:
292 case CSSPropertyFloodColor: 292 case CSSPropertyFloodColor:
293 case CSSPropertyLightingColor: 293 case CSSPropertyLightingColor:
294 case CSSPropertyOutlineColor: 294 case CSSPropertyOutlineColor:
295 case CSSPropertyStopColor: 295 case CSSPropertyStopColor:
296 case CSSPropertyStroke: 296 case CSSPropertyStroke:
297 case CSSPropertyTextDecorationColor: 297 case CSSPropertyTextDecorationColor:
298 case CSSPropertyWebkitColumnRuleColor: 298 case CSSPropertyColumnRuleColor:
299 case CSSPropertyWebkitTextStrokeColor: 299 case CSSPropertyWebkitTextStrokeColor:
300 { 300 {
301 RefPtrWillBeRawPtr<Interpolation> interpolation = ColorStyleInterpol ation::maybeCreateFromColor(*fromCSSValue, *toCSSValue, property); 301 RefPtrWillBeRawPtr<Interpolation> interpolation = ColorStyleInterpol ation::maybeCreateFromColor(*fromCSSValue, *toCSSValue, property);
302 if (interpolation) 302 if (interpolation)
303 return interpolation.release(); 303 return interpolation.release();
304 304
305 // Current color should use LegacyStyleInterpolation 305 // Current color should use LegacyStyleInterpolation
306 if (ColorStyleInterpolation::shouldUseLegacyStyleInterpolation(*from CSSValue, *toCSSValue)) 306 if (ColorStyleInterpolation::shouldUseLegacyStyleInterpolation(*from CSSValue, *toCSSValue))
307 fallBackToLegacy = true; 307 fallBackToLegacy = true;
308 308
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 RefPtrWillBeRawPtr<SVGPropertyBase> fromValue = attribute->currentValueBase( )->cloneForAnimation(m_value); 549 RefPtrWillBeRawPtr<SVGPropertyBase> fromValue = attribute->currentValueBase( )->cloneForAnimation(m_value);
550 RefPtrWillBeRawPtr<SVGPropertyBase> toValue = attribute->currentValueBase()- >cloneForAnimation(toSVGPropertySpecificKeyframe(end).value()); 550 RefPtrWillBeRawPtr<SVGPropertyBase> toValue = attribute->currentValueBase()- >cloneForAnimation(toSVGPropertySpecificKeyframe(end).value());
551 551
552 if (!fromValue || !toValue) 552 if (!fromValue || !toValue)
553 return nullptr; 553 return nullptr;
554 554
555 return createSVGInterpolation(fromValue.get(), toValue.get(), attribute.get( )); 555 return createSVGInterpolation(fromValue.get(), toValue.get(), attribute.get( ));
556 } 556 }
557 557
558 } // namespace blink 558 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/animation/LengthStyleInterpolation.cpp ('k') | Source/core/animation/css/CSSAnimatableValueFactory.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698