From ad0d549d4cc13433f77c1ac8f0ab379c83d93f28 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 24 Feb 2012 16:36:50 +0100 Subject: Imported WebKit commit bb52bf3c0119e8a128cd93afe5572413a8617de9 (http://svn.webkit.org/repository/webkit/trunk@108790) --- Source/WebCore/svg/SVGStyledElement.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'Source/WebCore/svg/SVGStyledElement.cpp') 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 -- cgit v1.2.1