| Index: Source/core/svg/SVGGraphicsElement.cpp
|
| diff --git a/Source/core/svg/SVGGraphicsElement.cpp b/Source/core/svg/SVGGraphicsElement.cpp
|
| index 96fd6f5d37e85eb481dcac1f63c416d8181b4314..685aa3e24945d2ce166ee9b06917696723cf9d1f 100644
|
| --- a/Source/core/svg/SVGGraphicsElement.cpp
|
| +++ b/Source/core/svg/SVGGraphicsElement.cpp
|
| @@ -187,42 +187,27 @@ AffineTransform* SVGGraphicsElement::animateMotionTransform()
|
| return ensureSVGRareData()->animateMotionTransform();
|
| }
|
|
|
| -bool SVGGraphicsElement::isSupportedAttribute(const QualifiedName& attrName)
|
| -{
|
| - DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, supportedAttributes, ());
|
| - if (supportedAttributes.isEmpty()) {
|
| - SVGTests::addSupportedAttributes(supportedAttributes);
|
| - supportedAttributes.add(SVGNames::transformAttr);
|
| - }
|
| - return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName);
|
| -}
|
| -
|
| void SVGGraphicsElement::svgAttributeChanged(const QualifiedName& attrName)
|
| {
|
| - if (!isSupportedAttribute(attrName)) {
|
| - SVGElement::svgAttributeChanged(attrName);
|
| - return;
|
| - }
|
| -
|
| - SVGElement::InvalidationGuard invalidationGuard(this);
|
| -
|
| // Reattach so the isValid() check will be run again during renderer creation.
|
| if (SVGTests::isKnownAttribute(attrName)) {
|
| + SVGElement::InvalidationGuard invalidationGuard(this);
|
| lazyReattachIfAttached();
|
| return;
|
| }
|
|
|
| - LayoutObject* object = layoutObject();
|
| - if (!object)
|
| - return;
|
| -
|
| if (attrName == SVGNames::transformAttr) {
|
| + LayoutObject* object = layoutObject();
|
| + if (!object)
|
| + return;
|
| +
|
| + SVGElement::InvalidationGuard invalidationGuard(this);
|
| object->setNeedsTransformUpdate();
|
| markForLayoutAndParentResourceInvalidation(object);
|
| return;
|
| }
|
|
|
| - ASSERT_NOT_REACHED();
|
| + SVGElement::svgAttributeChanged(attrName);
|
| }
|
|
|
| SVGElement* SVGGraphicsElement::nearestViewportElement() const
|
|
|