| Index: Source/core/svg/SVGTextPathElement.cpp
|
| diff --git a/Source/core/svg/SVGTextPathElement.cpp b/Source/core/svg/SVGTextPathElement.cpp
|
| index 50f3b50bc2c9f2dd01fa71af8302f2133aed13d5..fef4794ee2555c04f2bca115269bdc5eac4f7678 100644
|
| --- a/Source/core/svg/SVGTextPathElement.cpp
|
| +++ b/Source/core/svg/SVGTextPathElement.cpp
|
| @@ -30,13 +30,11 @@
|
| namespace WebCore {
|
|
|
| // Animated property definitions
|
| -DEFINE_ANIMATED_LENGTH(SVGTextPathElement, SVGNames::startOffsetAttr, StartOffset, startOffset)
|
| DEFINE_ANIMATED_ENUMERATION(SVGTextPathElement, SVGNames::methodAttr, Method, method, SVGTextPathMethodType)
|
| DEFINE_ANIMATED_ENUMERATION(SVGTextPathElement, SVGNames::spacingAttr, Spacing, spacing, SVGTextPathSpacingType)
|
| DEFINE_ANIMATED_STRING(SVGTextPathElement, XLinkNames::hrefAttr, Href, href)
|
|
|
| BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGTextPathElement)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(startOffset)
|
| REGISTER_LOCAL_ANIMATED_PROPERTY(method)
|
| REGISTER_LOCAL_ANIMATED_PROPERTY(spacing)
|
| REGISTER_LOCAL_ANIMATED_PROPERTY(href)
|
| @@ -45,11 +43,13 @@ END_REGISTER_ANIMATED_PROPERTIES
|
|
|
| inline SVGTextPathElement::SVGTextPathElement(Document& document)
|
| : SVGTextContentElement(SVGNames::textPathTag, document)
|
| - , m_startOffset(LengthModeOther)
|
| + , m_startOffset(SVGAnimatedLength::create(this, SVGNames::startOffsetAttr, SVGLength::create(LengthModeOther)))
|
| , m_method(SVGTextPathMethodAlign)
|
| , m_spacing(SVGTextPathSpacingExact)
|
| {
|
| ScriptWrappable::init(this);
|
| +
|
| + addToPropertyMap(m_startOffset);
|
| registerAnimatedPropertiesForSVGTextPathElement();
|
| }
|
|
|
| @@ -87,7 +87,7 @@ void SVGTextPathElement::parseAttribute(const QualifiedName& name, const AtomicS
|
| if (!isSupportedAttribute(name))
|
| SVGTextContentElement::parseAttribute(name, value);
|
| else if (name == SVGNames::startOffsetAttr)
|
| - setStartOffsetBaseValue(SVGLength::construct(LengthModeOther, value, parseError));
|
| + m_startOffset->setBaseValueAsString(value, AllowNegativeLengths, parseError);
|
| else if (name == SVGNames::methodAttr) {
|
| SVGTextPathMethodType propertyValue = SVGPropertyTraits<SVGTextPathMethodType>::fromString(value);
|
| if (propertyValue > 0)
|
| @@ -189,7 +189,7 @@ void SVGTextPathElement::removedFrom(ContainerNode* rootParent)
|
|
|
| bool SVGTextPathElement::selfHasRelativeLengths() const
|
| {
|
| - return startOffsetCurrentValue().isRelative()
|
| + return m_startOffset->currentValue()->isRelative()
|
| || SVGTextContentElement::selfHasRelativeLengths();
|
| }
|
|
|
|
|