summaryrefslogtreecommitdiffstats
path: root/WebCore/svg/SVGElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/svg/SVGElement.cpp')
-rw-r--r--WebCore/svg/SVGElement.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/WebCore/svg/SVGElement.cpp b/WebCore/svg/SVGElement.cpp
index 055efcc..37e4930 100644
--- a/WebCore/svg/SVGElement.cpp
+++ b/WebCore/svg/SVGElement.cpp
@@ -312,7 +312,10 @@ void SVGElement::attributeChanged(Attribute* attr, bool preserveDecls)
if (isSynchronizingSVGAttributes())
return;
- svgAttributeChanged(attr->name());
+ // Changes to the style attribute are processed lazily (see Element::getAttribute() and related methods),
+ // so we don't want changes to the style attribute to result in extra work here.
+ if (attr->name() != HTMLNames::styleAttr)
+ svgAttributeChanged(attr->name());
}
void SVGElement::updateAnimatedSVGAttribute(const QualifiedName& name) const
@@ -331,10 +334,8 @@ void SVGElement::updateAnimatedSVGAttribute(const QualifiedName& name) const
ContainerNode* SVGElement::eventParentNode()
{
- if (Node* shadowParent = shadowParentNode()) {
- ASSERT(shadowParent->isContainerNode());
- return static_cast<ContainerNode*>(shadowParent);
- }
+ if (ContainerNode* shadowParent = shadowParentNode())
+ return shadowParent;
return StyledElement::eventParentNode();
}