void SVGMaskElement::parseMappedAttribute(MappedAttribute* attr) { if (attr->name() == SVGNames::maskUnitsAttr) { if (attr->value() == "userSpaceOnUse") setMaskUnitsBaseValue(SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE); else if (attr->value() == "objectBoundingBox") setMaskUnitsBaseValue(SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX); } else if (attr->name() == SVGNames::maskContentUnitsAttr) { if (attr->value() == "userSpaceOnUse") setMaskContentUnitsBaseValue(SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE); else if (attr->value() == "objectBoundingBox") setMaskContentUnitsBaseValue(SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX); } else if (attr->name() == SVGNames::xAttr) setXBaseValue(SVGLength(LengthModeWidth, attr->value())); else if (attr->name() == SVGNames::yAttr) setYBaseValue(SVGLength(LengthModeHeight, attr->value())); else if (attr->name() == SVGNames::widthAttr) setWidthBaseValue(SVGLength(LengthModeWidth, attr->value())); else if (attr->name() == SVGNames::heightAttr) setHeightBaseValue(SVGLength(LengthModeHeight, attr->value())); else { if (SVGURIReference::parseMappedAttribute(attr)) return; if (SVGTests::parseMappedAttribute(attr)) return; if (SVGLangSpace::parseMappedAttribute(attr)) return; if (SVGExternalResourcesRequired::parseMappedAttribute(attr)) return; SVGStyledElement::parseMappedAttribute(attr); } }
void SVGMaskElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == SVGNames::maskUnitsAttr) { auto propertyValue = SVGPropertyTraits<SVGUnitTypes::SVGUnitType>::fromString(value); if (propertyValue > 0) setMaskUnitsBaseValue(propertyValue); return; } if (name == SVGNames::maskContentUnitsAttr) { auto propertyValue = SVGPropertyTraits<SVGUnitTypes::SVGUnitType>::fromString(value); if (propertyValue > 0) setMaskContentUnitsBaseValue(propertyValue); return; } SVGParsingError parseError = NoError; if (name == SVGNames::xAttr) setXBaseValue(SVGLength::construct(LengthModeWidth, value, parseError)); else if (name == SVGNames::yAttr) setYBaseValue(SVGLength::construct(LengthModeHeight, value, parseError)); else if (name == SVGNames::widthAttr) setWidthBaseValue(SVGLength::construct(LengthModeWidth, value, parseError)); else if (name == SVGNames::heightAttr) setHeightBaseValue(SVGLength::construct(LengthModeHeight, value, parseError)); reportAttributeParsingError(parseError, name, value); SVGElement::parseAttribute(name, value); SVGTests::parseAttribute(name, value); SVGExternalResourcesRequired::parseAttribute(name, value); }