void SVGStyledTransformableElement::parseMappedAttribute(Attribute* attr) { if (SVGTransformable::isKnownAttribute(attr->name())) { SVGTransformList newList; if (!SVGTransformable::parseTransformAttribute(newList, attr->value())) newList.clear(); detachAnimatedTransformListWrappers(newList.size()); setTransformBaseValue(newList); } else SVGStyledLocatableElement::parseMappedAttribute(attr); }
void SVGGraphicsElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == SVGNames::transformAttr) { SVGTransformListValues newList; newList.parse(value); detachAnimatedTransformListWrappers(newList.size()); setTransformBaseValue(newList); return; } SVGElement::parseAttribute(name, value); SVGTests::parseAttribute(name, value); }
void SVGStyledTransformableElement::parseMappedAttribute(MappedAttribute* attr) { if (attr->name() == SVGNames::transformAttr) { SVGTransformList* localTransforms = transformBaseValue(); ExceptionCode ec = 0; localTransforms->clear(ec); if (!SVGTransformable::parseTransformAttribute(localTransforms, attr->value())) localTransforms->clear(ec); else setTransformBaseValue(localTransforms); } else SVGStyledLocatableElement::parseMappedAttribute(attr); }
void SVGTextElement::parseMappedAttribute(MappedAttribute* attr) { if (attr->name() == SVGNames::transformAttr) { SVGTransformList* localTransforms = transformBaseValue(); ExceptionCode ec = 0; localTransforms->clear(ec); if (!SVGTransformable::parseTransformAttribute(localTransforms, attr->value())) localTransforms->clear(ec); else { setTransformBaseValue(localTransforms); if (renderer()) renderer()->setNeedsLayout(true); // should be in setTransformBaseValue } } else SVGTextPositioningElement::parseMappedAttribute(attr); }
void SVGGraphicsElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGElement::parseAttribute(name, value); return; } if (name == SVGNames::transformAttr) { SVGTransformList newList; newList.parse(value); detachAnimatedTransformListWrappers(newList.size()); setTransformBaseValue(newList); return; } if (SVGTests::parseAttribute(name, value)) return; ASSERT_NOT_REACHED(); }