Index: Source/core/svg/SVGGradientElement.cpp |
diff --git a/Source/core/svg/SVGGradientElement.cpp b/Source/core/svg/SVGGradientElement.cpp |
index bfee1004ddeb1af3f0eb9de13a785f2d3be2b830..d65bbb50ce8fcdf7770f0358d8c626e6fdfc2c35 100644 |
--- a/Source/core/svg/SVGGradientElement.cpp |
+++ b/Source/core/svg/SVGGradientElement.cpp |
@@ -38,23 +38,23 @@ namespace WebCore { |
// Animated property definitions |
DEFINE_ANIMATED_ENUMERATION(SVGGradientElement, SVGNames::spreadMethodAttr, SpreadMethod, spreadMethod, SVGSpreadMethodType) |
DEFINE_ANIMATED_ENUMERATION(SVGGradientElement, SVGNames::gradientUnitsAttr, GradientUnits, gradientUnits, SVGUnitTypes::SVGUnitType) |
-DEFINE_ANIMATED_TRANSFORM_LIST(SVGGradientElement, SVGNames::gradientTransformAttr, GradientTransform, gradientTransform) |
BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGGradientElement) |
REGISTER_LOCAL_ANIMATED_PROPERTY(spreadMethod) |
REGISTER_LOCAL_ANIMATED_PROPERTY(gradientUnits) |
- REGISTER_LOCAL_ANIMATED_PROPERTY(gradientTransform) |
REGISTER_PARENT_ANIMATED_PROPERTIES(SVGElement) |
END_REGISTER_ANIMATED_PROPERTIES |
SVGGradientElement::SVGGradientElement(const QualifiedName& tagName, Document& document) |
: SVGElement(tagName, document) |
, m_href(SVGAnimatedString::create(this, XLinkNames::hrefAttr, SVGString::create())) |
+ , m_gradientTransform(SVGAnimatedTransformList::create(this, SVGNames::gradientTransformAttr, SVGTransformList::create())) |
, m_spreadMethod(SVGSpreadMethodPad) |
, m_gradientUnits(SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX) |
{ |
ScriptWrappable::init(this); |
addToPropertyMap(m_href); |
+ addToPropertyMap(m_gradientTransform); |
registerAnimatedPropertiesForSVGGradientElement(); |
} |
@@ -84,14 +84,6 @@ void SVGGradientElement::parseAttribute(const QualifiedName& name, const AtomicS |
return; |
} |
- if (name == SVGNames::gradientTransformAttr) { |
- SVGTransformList newList; |
- newList.parse(value); |
- detachAnimatedGradientTransformListWrappers(newList.size()); |
- setGradientTransformBaseValue(newList); |
- return; |
- } |
- |
if (name == SVGNames::spreadMethodAttr) { |
SVGSpreadMethodType propertyValue = SVGPropertyTraits<SVGSpreadMethodType>::fromString(value); |
if (propertyValue > 0) |
@@ -103,6 +95,8 @@ void SVGGradientElement::parseAttribute(const QualifiedName& name, const AtomicS |
if (name.matches(XLinkNames::hrefAttr)) |
m_href->setBaseValueAsString(value, parseError); |
+ else if (name == SVGNames::gradientTransformAttr) |
+ m_gradientTransform->setBaseValueAsString(value, parseError); |
else |
ASSERT_NOT_REACHED(); |