Index: Source/core/svg/SVGTextPathElement.cpp |
diff --git a/Source/core/svg/SVGTextPathElement.cpp b/Source/core/svg/SVGTextPathElement.cpp |
index c83bd93dfb660fca627376f31e8530b99fc28ad1..c40715f35cf9741b1c3529750f103efeabd92936 100644 |
--- a/Source/core/svg/SVGTextPathElement.cpp |
+++ b/Source/core/svg/SVGTextPathElement.cpp |
@@ -82,28 +82,10 @@ void SVGTextPathElement::clearResourceReferences() |
removeAllOutgoingReferences(); |
} |
-bool SVGTextPathElement::isSupportedAttribute(const QualifiedName& attrName) |
-{ |
- DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, supportedAttributes, ()); |
- if (supportedAttributes.isEmpty()) { |
- SVGURIReference::addSupportedAttributes(supportedAttributes); |
- supportedAttributes.add(SVGNames::startOffsetAttr); |
- supportedAttributes.add(SVGNames::methodAttr); |
- supportedAttributes.add(SVGNames::spacingAttr); |
- } |
- return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName); |
-} |
- |
void SVGTextPathElement::svgAttributeChanged(const QualifiedName& attrName) |
{ |
- if (!isSupportedAttribute(attrName)) { |
- SVGTextContentElement::svgAttributeChanged(attrName); |
- return; |
- } |
- |
- SVGElement::InvalidationGuard invalidationGuard(this); |
- |
if (SVGURIReference::isKnownAttribute(attrName)) { |
+ SVGElement::InvalidationGuard invalidationGuard(this); |
buildPendingResource(); |
return; |
} |
@@ -111,8 +93,17 @@ void SVGTextPathElement::svgAttributeChanged(const QualifiedName& attrName) |
if (attrName == SVGNames::startOffsetAttr) |
updateRelativeLengthsInformation(); |
- if (LayoutObject* object = layoutObject()) |
- markForLayoutAndParentResourceInvalidation(object); |
+ if (attrName == SVGNames::startOffsetAttr |
+ || attrName == SVGNames::methodAttr |
+ || attrName == SVGNames::spacingAttr) { |
+ SVGElement::InvalidationGuard invalidationGuard(this); |
+ if (LayoutObject* object = layoutObject()) |
+ markForLayoutAndParentResourceInvalidation(object); |
+ |
+ return; |
+ } |
+ |
+ SVGTextContentElement::svgAttributeChanged(attrName); |
} |
LayoutObject* SVGTextPathElement::createLayoutObject(const ComputedStyle&) |