#include "core/svg/SVGViewElement.h"
-
namespace WebCore {
// Animated property definitions
inline SVGViewElement::SVGViewElement(Document& document)
: SVGElement(SVGNames::viewTag, document)
- , m_viewBox(SVGAnimatedRect::create(this, SVGNames::viewBoxAttr))
- , m_preserveAspectRatio(SVGAnimatedPreserveAspectRatio::create(this, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio::create()))
- , m_zoomAndPan(SVGZoomAndPanMagnify)
- , m_viewTarget(SVGNames::viewTargetAttr)
+ , SVGFitToViewBox(this)
+ , m_viewTarget(SVGStaticStringList::create(this, SVGNames::viewTargetAttr))
{
ScriptWrappable::init(this);
- addToPropertyMap(m_viewBox);
- addToPropertyMap(m_preserveAspectRatio);
+ addToPropertyMap(m_viewTarget);
registerAnimatedPropertiesForSVGViewElement();
}
return;
}
- if (name == SVGNames::viewTargetAttr) {
- viewTarget().reset(value);
- return;
- }
+ SVGParsingError parseError = NoError;
- if (SVGFitToViewBox::parseAttribute(this, name, value))
- return;
- if (SVGZoomAndPan::parseAttribute(this, name, value))
- return;
+ if (SVGFitToViewBox::parseAttribute(name, value, document(), parseError)) {
+ } else if (SVGZoomAndPan::parseAttribute(name, value)) {
+ } else if (name == SVGNames::viewTargetAttr) {
+ m_viewTarget->setBaseValueAsString(value, parseError);
+ } else {
+ ASSERT_NOT_REACHED();
+ }
- ASSERT_NOT_REACHED();
+ reportAttributeParsingError(parseError, name, value);
}
}