| Index: Source/core/svg/SVGEllipseElement.cpp
|
| diff --git a/Source/core/svg/SVGEllipseElement.cpp b/Source/core/svg/SVGEllipseElement.cpp
|
| index 1527c918915912aef2038c2f6a147df257955855..cf8dc72e10f34cde1707be4fbea31ec6c63fdcdc 100644
|
| --- a/Source/core/svg/SVGEllipseElement.cpp
|
| +++ b/Source/core/svg/SVGEllipseElement.cpp
|
| @@ -50,18 +50,6 @@ DEFINE_TRACE(SVGEllipseElement)
|
|
|
| DEFINE_NODE_FACTORY(SVGEllipseElement)
|
|
|
| -bool SVGEllipseElement::isSupportedAttribute(const QualifiedName& attrName)
|
| -{
|
| - DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, supportedAttributes, ());
|
| - if (supportedAttributes.isEmpty()) {
|
| - supportedAttributes.add(SVGNames::cxAttr);
|
| - supportedAttributes.add(SVGNames::cyAttr);
|
| - supportedAttributes.add(SVGNames::rxAttr);
|
| - supportedAttributes.add(SVGNames::ryAttr);
|
| - }
|
| - return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName);
|
| -}
|
| -
|
| bool SVGEllipseElement::isPresentationAttribute(const QualifiedName& attrName) const
|
| {
|
| if (attrName == SVGNames::cxAttr || attrName == SVGNames::cyAttr
|
| @@ -96,24 +84,25 @@ void SVGEllipseElement::collectStyleForPresentationAttribute(const QualifiedName
|
|
|
| void SVGEllipseElement::svgAttributeChanged(const QualifiedName& attrName)
|
| {
|
| - if (!isSupportedAttribute(attrName)) {
|
| - SVGGeometryElement::svgAttributeChanged(attrName);
|
| - return;
|
| - }
|
| + if (attrName == SVGNames::cxAttr || attrName == SVGNames::cyAttr
|
| + || attrName == SVGNames::rxAttr || attrName == SVGNames::ryAttr) {
|
| + SVGElement::InvalidationGuard invalidationGuard(this);
|
|
|
| - SVGElement::InvalidationGuard invalidationGuard(this);
|
| + invalidateSVGPresentationAttributeStyle();
|
| + setNeedsStyleRecalc(LocalStyleChange,
|
| + StyleChangeReasonForTracing::fromAttribute(attrName));
|
| + updateRelativeLengthsInformation();
|
|
|
| - invalidateSVGPresentationAttributeStyle();
|
| - setNeedsStyleRecalc(LocalStyleChange,
|
| - StyleChangeReasonForTracing::fromAttribute(attrName));
|
| - updateRelativeLengthsInformation();
|
| + LayoutSVGShape* renderer = toLayoutSVGShape(this->layoutObject());
|
| + if (!renderer)
|
| + return;
|
|
|
| - LayoutSVGShape* renderer = toLayoutSVGShape(this->layoutObject());
|
| - if (!renderer)
|
| + renderer->setNeedsShapeUpdate();
|
| + markForLayoutAndParentResourceInvalidation(renderer);
|
| return;
|
| + }
|
|
|
| - renderer->setNeedsShapeUpdate();
|
| - markForLayoutAndParentResourceInvalidation(renderer);
|
| + SVGGeometryElement::svgAttributeChanged(attrName);
|
| }
|
|
|
| bool SVGEllipseElement::selfHasRelativeLengths() const
|
|
|