| Index: Source/core/svg/SVGAnimationElement.cpp
|
| diff --git a/Source/core/svg/SVGAnimationElement.cpp b/Source/core/svg/SVGAnimationElement.cpp
|
| index d5d17e363bd2cdd24a2bc4c2d233ce6f14ce21e9..ea34b38e5da966ad1a6df438e3e5584d111a0697 100644
|
| --- a/Source/core/svg/SVGAnimationElement.cpp
|
| +++ b/Source/core/svg/SVGAnimationElement.cpp
|
| @@ -368,7 +368,7 @@ bool SVGAnimationElement::isTargetAttributeCSSProperty(SVGElement* targetElement
|
| {
|
| ASSERT(targetElement);
|
|
|
| - return SVGElement::isAnimatableCSSProperty(attributeName);
|
| + return SVGElement::isAnimatableCSSProperty(attributeName) || targetElement->isPresentationAttribute(attributeName);
|
| }
|
|
|
| SVGAnimationElement::ShouldApplyAnimation SVGAnimationElement::shouldApplyAnimation(SVGElement* targetElement, const QualifiedName& attributeName)
|
| @@ -377,9 +377,12 @@ SVGAnimationElement::ShouldApplyAnimation SVGAnimationElement::shouldApplyAnimat
|
| return DontApplyAnimation;
|
|
|
| // Always animate CSS properties, using the ApplyCSSAnimation code path, regardless of the attributeType value.
|
| - if (isTargetAttributeCSSProperty(targetElement, attributeName))
|
| - return ApplyCSSAnimation;
|
| + if (isTargetAttributeCSSProperty(targetElement, attributeName)) {
|
| + if (targetElement->isPresentationAttributeWithSVGDOM(attributeName))
|
| + return ApplyXMLandCSSAnimation;
|
|
|
| + return ApplyCSSAnimation;
|
| + }
|
| // If attributeType="CSS" and attributeName doesn't point to a CSS property, ignore the animation.
|
| if (attributeType() == AttributeTypeCSS)
|
| return DontApplyAnimation;
|
|
|