void SVGPolyElement::svgAttributeChanged(const QualifiedName& attrName) { if (!isSupportedAttribute(attrName)) { SVGGeometryElement::svgAttributeChanged(attrName); return; } SVGElementInstance::InvalidationGuard invalidationGuard(this); RenderSVGShape* renderer = toRenderSVGShape(this->renderer()); if (!renderer) return; if (attrName == SVGNames::pointsAttr) { renderer->setNeedsShapeUpdate(); RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer); return; } if (SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) { RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer); return; } ASSERT_NOT_REACHED(); }
void SVGRectElement::svgAttributeChanged(const QualifiedName& attrName) { if (!isSupportedAttribute(attrName)) { SVGGeometryElement::svgAttributeChanged(attrName); return; } SVGElement::InvalidationGuard invalidationGuard(this); bool isLengthAttribute = attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr || attrName == SVGNames::rxAttr || attrName == SVGNames::ryAttr; if (isLengthAttribute) updateRelativeLengthsInformation(); RenderSVGShape* renderer = toRenderSVGShape(this->renderer()); if (!renderer) return; if (isLengthAttribute) { renderer->setNeedsShapeUpdate(); RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer); return; } ASSERT_NOT_REACHED(); }
void SVGRectElement::svgAttributeChanged(const QualifiedName& attrName) { if (!isSupportedAttribute(attrName)) { SVGGraphicsElement::svgAttributeChanged(attrName); return; } SVGElementInstance::InvalidationGuard invalidationGuard(this); if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr) { invalidateSVGPresentationAttributeStyle(); return; } bool isLengthAttribute = attrName == SVGNames::rxAttr || attrName == SVGNames::ryAttr; if (isLengthAttribute) updateRelativeLengthsInformation(); RenderSVGShape* renderer = toRenderSVGShape(this->renderer()); if (!renderer) return; if (isLengthAttribute) { renderer->setNeedsShapeUpdate(); RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer); return; } if (SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) { RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer); return; } ASSERT_NOT_REACHED(); }