Index: Source/core/svg/SVGGraphicsElement.cpp |
diff --git a/Source/core/svg/SVGGraphicsElement.cpp b/Source/core/svg/SVGGraphicsElement.cpp |
index 9838822837530c3895f45e71e6ff4aef52e4bc67..2dfd3de561b4fcd85e0f32ffef5125fd29ad5b16 100644 |
--- a/Source/core/svg/SVGGraphicsElement.cpp |
+++ b/Source/core/svg/SVGGraphicsElement.cpp |
@@ -93,8 +93,10 @@ AffineTransform* SVGGraphicsElement::supplementalTransform() |
bool SVGGraphicsElement::isSupportedAttribute(const QualifiedName& attrName) |
{ |
DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, supportedAttributes, ()); |
- if (supportedAttributes.isEmpty()) |
+ if (supportedAttributes.isEmpty()) { |
+ SVGTests::addSupportedAttributes(supportedAttributes); |
supportedAttributes.add(SVGNames::transformAttr); |
+ } |
return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName); |
} |
@@ -111,6 +113,8 @@ void SVGGraphicsElement::parseAttribute(const QualifiedName& name, const AtomicS |
detachAnimatedTransformListWrappers(newList.size()); |
setTransformBaseValue(newList); |
return; |
+ } else if (SVGTests::parseAttribute(name, value)) { |
+ return; |
} |
ASSERT_NOT_REACHED(); |
@@ -125,6 +129,9 @@ void SVGGraphicsElement::svgAttributeChanged(const QualifiedName& attrName) |
SVGElementInstance::InvalidationGuard invalidationGuard(this); |
+ if (SVGTests::handleAttributeChange(this, attrName)) |
+ return; |
+ |
RenderObject* object = renderer(); |
if (!object) |
return; |