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

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

Issue 878863002: Animation: Add CSSPropertyClip and CSSPropertyBorderImageSlice to StringKeyframe (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Implement Eric's changes Created 5 years, 10 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 // 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/ColorStyleInterpolation.h" 8 #include "core/animation/ColorStyleInterpolation.h"
9 #include "core/animation/ConstantStyleInterpolation.h" 9 #include "core/animation/ConstantStyleInterpolation.h"
10 #include "core/animation/DeferredLegacyStyleInterpolation.h" 10 #include "core/animation/DeferredLegacyStyleInterpolation.h"
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 // FIXME: AnimatableShadow incorrectly animates between inset and non-in set values so it will never indicate it needs default interpolation 280 // FIXME: AnimatableShadow incorrectly animates between inset and non-in set values so it will never indicate it needs default interpolation
281 if (ShadowStyleInterpolation::usesDefaultStyleInterpolation(*fromCSSValu e, *toCSSValue)) { 281 if (ShadowStyleInterpolation::usesDefaultStyleInterpolation(*fromCSSValu e, *toCSSValue)) {
282 forceDefaultInterpolation = true; 282 forceDefaultInterpolation = true;
283 break; 283 break;
284 } 284 }
285 285
286 // FIXME: Handle interpolation from/to none, unspecified color values 286 // FIXME: Handle interpolation from/to none, unspecified color values
287 fallBackToLegacy = true; 287 fallBackToLegacy = true;
288 288
289 break; 289 break;
290
290 } 291 }
291 292
292 case CSSPropertyWebkitMaskBoxImageSlice: 293 case CSSPropertyClip:
293 if (LengthBoxStyleInterpolation::matchingFill(*toCSSValue, *fromCSSValue ) && LengthBoxStyleInterpolation::canCreateFrom(*fromCSSValue) && LengthStyleInt erpolation::canCreateFrom(*toCSSValue)) 294 case CSSPropertyBorderImageSlice:
294 return LengthBoxStyleInterpolation::createFromBorderImageSlice(*from CSSValue, *toCSSValue, property); 295 case CSSPropertyWebkitMaskBoxImageSlice: {
296 RefPtrWillBeRawPtr<Interpolation> interpolation = LengthBoxStyleInterpol ation::maybeCreateFrom(fromCSSValue, toCSSValue, property);
297 if (interpolation)
298 return interpolation.release();
295 break; 299 break;
300 }
296 301
297 case CSSPropertyStrokeWidth: 302 case CSSPropertyStrokeWidth:
298 range = RangeNonNegative; 303 range = RangeNonNegative;
299 // Fall through 304 // Fall through
300 case CSSPropertyBaselineShift: 305 case CSSPropertyBaselineShift:
301 case CSSPropertyStrokeDashoffset: { 306 case CSSPropertyStrokeDashoffset: {
302 RefPtrWillBeRawPtr<Interpolation> interpolation = SVGLengthStyleInterpol ation::maybeCreate(*fromCSSValue, *toCSSValue, property, range); 307 RefPtrWillBeRawPtr<Interpolation> interpolation = SVGLengthStyleInterpol ation::maybeCreate(*fromCSSValue, *toCSSValue, property, range);
303 if (interpolation) 308 if (interpolation)
304 return interpolation.release(); 309 return interpolation.release();
305 310
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 } 376 }
372 377
373 void StringKeyframe::PropertySpecificKeyframe::trace(Visitor* visitor) 378 void StringKeyframe::PropertySpecificKeyframe::trace(Visitor* visitor)
374 { 379 {
375 visitor->trace(m_value); 380 visitor->trace(m_value);
376 visitor->trace(m_animatableValueCache); 381 visitor->trace(m_animatableValueCache);
377 Keyframe::PropertySpecificKeyframe::trace(visitor); 382 Keyframe::PropertySpecificKeyframe::trace(visitor);
378 } 383 }
379 384
380 } 385 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698