| Index: Source/core/svg/SVGAnimationElement.cpp
|
| diff --git a/Source/core/svg/SVGAnimationElement.cpp b/Source/core/svg/SVGAnimationElement.cpp
|
| index f31869e6a2cd5b9fda9479b15e8fafff952a3437..b4652741d9c1ecd041c05e330ca78dac685f8b3b 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;
|
|
|