Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / svg / SVGViewElement.cpp
index b991e0d..f3dcb44 100644 (file)
@@ -22,7 +22,6 @@
 
 #include "core/svg/SVGViewElement.h"
 
-
 namespace WebCore {
 
 // Animated property definitions
@@ -33,15 +32,12 @@ END_REGISTER_ANIMATED_PROPERTIES
 
 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();
 }
 
@@ -68,17 +64,17 @@ void SVGViewElement::parseAttribute(const QualifiedName& name, const AtomicStrin
         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);
 }
 
 }