| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) 2008 Apple Inc. All rights reserved. | 4 * Copyright (C) 2008 Apple Inc. All rights reserved. |
| 5 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 5 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 bool calculateFromAndByValues(const String& fromString, | 64 bool calculateFromAndByValues(const String& fromString, |
| 65 const String& byString) final; | 65 const String& byString) final; |
| 66 void calculateAnimatedValue(float percentage, | 66 void calculateAnimatedValue(float percentage, |
| 67 unsigned repeatCount, | 67 unsigned repeatCount, |
| 68 SVGSMILElement* resultElement) final; | 68 SVGSMILElement* resultElement) final; |
| 69 void applyResultsToTarget() final; | 69 void applyResultsToTarget() final; |
| 70 float calculateDistance(const String& fromString, | 70 float calculateDistance(const String& fromString, |
| 71 const String& toString) final; | 71 const String& toString) final; |
| 72 bool isAdditive() final; | 72 bool isAdditive() final; |
| 73 | 73 |
| 74 void parseAttribute(const QualifiedName&, |
| 75 const AtomicString&, |
| 76 const AtomicString&) override; |
| 77 void svgAttributeChanged(const QualifiedName&) override; |
| 78 |
| 74 void setTargetElement(SVGElement*) final; | 79 void setTargetElement(SVGElement*) final; |
| 75 void setAttributeName(const QualifiedName&) final; | 80 void setAttributeName(const QualifiedName&) final; |
| 76 | 81 |
| 82 enum AttributeType { AttributeTypeCSS, AttributeTypeXML, AttributeTypeAuto }; |
| 83 AttributeType getAttributeType() const { return m_attributeType; } |
| 84 |
| 77 FRIEND_TEST_ALL_PREFIXES(UnsafeSVGAttributeSanitizationTest, | 85 FRIEND_TEST_ALL_PREFIXES(UnsafeSVGAttributeSanitizationTest, |
| 78 stringsShouldNotSupportAddition); | 86 stringsShouldNotSupportAddition); |
| 79 | 87 |
| 80 private: | 88 private: |
| 81 void resetAnimatedPropertyType(); | 89 void resetAnimatedPropertyType(); |
| 82 | 90 |
| 83 enum ShouldApplyAnimationType { | 91 enum ShouldApplyAnimationType { |
| 84 DontApplyAnimation, | 92 DontApplyAnimation, |
| 85 ApplyCSSAnimation, | 93 ApplyCSSAnimation, |
| 86 ApplyXMLAnimation, | 94 ApplyXMLAnimation, |
| 87 ApplyXMLandCSSAnimation | 95 ApplyXMLandCSSAnimation |
| 88 }; | 96 }; |
| 89 | 97 |
| 90 ShouldApplyAnimationType shouldApplyAnimation( | 98 ShouldApplyAnimationType shouldApplyAnimation( |
| 91 SVGElement* targetElement, | 99 SVGElement* targetElement, |
| 92 const QualifiedName& attributeName); | 100 const QualifiedName& attributeName); |
| 93 | 101 |
| 102 void setAttributeType(const AtomicString&); |
| 103 |
| 104 void checkInvalidCSSAttributeType(); |
| 105 bool hasInvalidCSSAttributeType() const { |
| 106 return m_hasInvalidCSSAttributeType; |
| 107 } |
| 94 bool hasValidAttributeType() override; | 108 bool hasValidAttributeType() override; |
| 95 | 109 |
| 96 SVGPropertyBase* adjustForInheritance(SVGPropertyBase*, | 110 SVGPropertyBase* adjustForInheritance(SVGPropertyBase*, |
| 97 AnimatedPropertyValueType) const; | 111 AnimatedPropertyValueType) const; |
| 98 | 112 |
| 99 Member<SVGPropertyBase> m_fromProperty; | 113 Member<SVGPropertyBase> m_fromProperty; |
| 100 Member<SVGPropertyBase> m_toProperty; | 114 Member<SVGPropertyBase> m_toProperty; |
| 101 Member<SVGPropertyBase> m_toAtEndOfDurationProperty; | 115 Member<SVGPropertyBase> m_toAtEndOfDurationProperty; |
| 102 Member<SVGPropertyBase> m_animatedProperty; | 116 Member<SVGPropertyBase> m_animatedProperty; |
| 103 | 117 |
| 104 SVGAnimatedTypeAnimator m_animator; | 118 SVGAnimatedTypeAnimator m_animator; |
| 105 | 119 |
| 106 AnimatedPropertyValueType m_fromPropertyValueType; | 120 AnimatedPropertyValueType m_fromPropertyValueType; |
| 107 AnimatedPropertyValueType m_toPropertyValueType; | 121 AnimatedPropertyValueType m_toPropertyValueType; |
| 122 AttributeType m_attributeType; |
| 123 bool m_hasInvalidCSSAttributeType; |
| 108 }; | 124 }; |
| 109 | 125 |
| 110 inline bool isSVGAnimateElement(const SVGElement& element) { | 126 inline bool isSVGAnimateElement(const SVGElement& element) { |
| 111 return element.hasTagName(SVGNames::animateTag) || | 127 return element.hasTagName(SVGNames::animateTag) || |
| 112 element.hasTagName(SVGNames::animateTransformTag) || | 128 element.hasTagName(SVGNames::animateTransformTag) || |
| 113 element.hasTagName(SVGNames::setTag); | 129 element.hasTagName(SVGNames::setTag); |
| 114 } | 130 } |
| 115 | 131 |
| 116 DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGAnimateElement); | 132 DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGAnimateElement); |
| 117 | 133 |
| 118 } // namespace blink | 134 } // namespace blink |
| 119 | 135 |
| 120 #endif // SVGAnimateElement_h | 136 #endif // SVGAnimateElement_h |
| OLD | NEW |