summaryrefslogtreecommitdiff
path: root/Source/WebCore/svg/SVGStyledElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/svg/SVGStyledElement.cpp')
-rw-r--r--Source/WebCore/svg/SVGStyledElement.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/Source/WebCore/svg/SVGStyledElement.cpp b/Source/WebCore/svg/SVGStyledElement.cpp
index 518b5b3ee..dd159a099 100644
--- a/Source/WebCore/svg/SVGStyledElement.cpp
+++ b/Source/WebCore/svg/SVGStyledElement.cpp
@@ -292,15 +292,22 @@ bool SVGStyledElement::isAnimatableCSSProperty(const QualifiedName& attrName)
return cssPropertyToTypeMap().contains(attrName);
}
+bool SVGStyledElement::isPresentationAttribute(Attribute* attr) const
+{
+ if (SVGStyledElement::cssPropertyIdForSVGAttributeName(attr->name()) > 0)
+ return true;
+ return SVGElement::isPresentationAttribute(attr);
+}
+
+void SVGStyledElement::collectStyleForAttribute(Attribute* attr, StylePropertySet* style)
+{
+ int propertyID = SVGStyledElement::cssPropertyIdForSVGAttributeName(attr->name());
+ if (propertyID > 0)
+ addPropertyToAttributeStyle(style, propertyID, attr->value());
+}
+
void SVGStyledElement::parseAttribute(Attribute* attr)
{
- int propId = SVGStyledElement::cssPropertyIdForSVGAttributeName(attr->name());
- if (propId > 0) {
- addCSSProperty(propId, attr->value());
- setNeedsStyleRecalc();
- return;
- }
-
// SVG animation has currently requires special storage of values so we set
// the className here. svgAttributeChanged actually causes the resulting
// style updates (instead of StyledElement::parseAttribute). We don't