OLD | NEW |
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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 case CSSPropertyFontSizeAdjust: | 143 case CSSPropertyFontSizeAdjust: |
144 return RangeNonNegative; | 144 return RangeNonNegative; |
145 default: | 145 default: |
146 ASSERT_NOT_REACHED(); | 146 ASSERT_NOT_REACHED(); |
147 return RangeAll; | 147 return RangeAll; |
148 } | 148 } |
149 } | 149 } |
150 | 150 |
151 } // namespace | 151 } // namespace |
152 | 152 |
153 PassRefPtrWillBeRawPtr<Interpolation> StringKeyframe::CSSPropertySpecificKeyfram
e::maybeCreateInterpolation(PropertyHandle propertyHandle, blink::Keyframe::Prop
ertySpecificKeyframe& end, Element* element, const ComputedStyle* baseStyle) con
st | 153 PassRefPtrWillBeRawPtr<Interpolation> StringKeyframe::CSSPropertySpecificKeyfram
e::maybeCreateInterpolation(PropertyHandle propertyHandle, Keyframe::PropertySpe
cificKeyframe& end, Element* element, const ComputedStyle* baseStyle) const |
154 { | 154 { |
155 CSSPropertyID property = propertyHandle.cssProperty(); | 155 CSSPropertyID property = propertyHandle.cssProperty(); |
156 | 156 |
157 // FIXME: Refactor this into a generic piece that lives in InterpolationEffe
ct, and a template parameter specific converter. | 157 // FIXME: Refactor this into a generic piece that lives in InterpolationEffe
ct, and a template parameter specific converter. |
158 CSSValue* fromCSSValue = m_value.get(); | 158 CSSValue* fromCSSValue = m_value.get(); |
159 CSSValue* toCSSValue = toCSSPropertySpecificKeyframe(end).value(); | 159 CSSValue* toCSSValue = toCSSPropertySpecificKeyframe(end).value(); |
160 InterpolationRange range = RangeAll; | 160 InterpolationRange range = RangeAll; |
161 bool fallBackToLegacy = false; | 161 bool fallBackToLegacy = false; |
162 | 162 |
163 // FIXME: Remove this flag once we can rely on legacy's behaviour being corr
ect. | 163 // FIXME: Remove this flag once we can rely on legacy's behaviour being corr
ect. |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
519 break; | 519 break; |
520 } | 520 } |
521 if (interpolation) | 521 if (interpolation) |
522 return interpolation.release(); | 522 return interpolation.release(); |
523 | 523 |
524 return DefaultSVGInterpolation::create(fromValue, toValue, attribute); | 524 return DefaultSVGInterpolation::create(fromValue, toValue, attribute); |
525 } | 525 } |
526 | 526 |
527 } // namespace | 527 } // namespace |
528 | 528 |
529 PassRefPtrWillBeRawPtr<Interpolation> SVGPropertySpecificKeyframe::maybeCreateIn
terpolation(PropertyHandle propertyHandle, blink::Keyframe::PropertySpecificKeyf
rame& end, Element* element, const ComputedStyle* baseStyle) const | 529 PassRefPtrWillBeRawPtr<Interpolation> SVGPropertySpecificKeyframe::maybeCreateIn
terpolation(PropertyHandle propertyHandle, Keyframe::PropertySpecificKeyframe& e
nd, Element* element, const ComputedStyle* baseStyle) const |
530 { | 530 { |
531 ASSERT(element); | 531 ASSERT(element); |
532 RefPtrWillBeRawPtr<SVGAnimatedPropertyBase> attribute = toSVGElement(element
)->propertyFromAttribute(*propertyHandle.svgAttribute()); | 532 RefPtrWillBeRawPtr<SVGAnimatedPropertyBase> attribute = toSVGElement(element
)->propertyFromAttribute(*propertyHandle.svgAttribute()); |
533 ASSERT(attribute); | 533 ASSERT(attribute); |
534 | 534 |
535 RefPtrWillBeRawPtr<SVGPropertyBase> fromValue = attribute->currentValueBase(
)->cloneForAnimation(m_value); | 535 RefPtrWillBeRawPtr<SVGPropertyBase> fromValue = attribute->currentValueBase(
)->cloneForAnimation(m_value); |
536 RefPtrWillBeRawPtr<SVGPropertyBase> toValue = attribute->currentValueBase()-
>cloneForAnimation(toSVGPropertySpecificKeyframe(end).value()); | 536 RefPtrWillBeRawPtr<SVGPropertyBase> toValue = attribute->currentValueBase()-
>cloneForAnimation(toSVGPropertySpecificKeyframe(end).value()); |
537 | 537 |
538 if (!fromValue || !toValue) | 538 if (!fromValue || !toValue) |
539 return nullptr; | 539 return nullptr; |
540 | 540 |
541 return createSVGInterpolation(fromValue.get(), toValue.get(), attribute.get(
)); | 541 return createSVGInterpolation(fromValue.get(), toValue.get(), attribute.get(
)); |
542 } | 542 } |
543 | 543 |
544 } | 544 } // namespace blink |
OLD | NEW |