Index: third_party/WebKit/Source/core/svg/SVGAnimatedLength.cpp |
diff --git a/third_party/WebKit/Source/core/svg/SVGAnimatedLength.cpp b/third_party/WebKit/Source/core/svg/SVGAnimatedLength.cpp |
index ddbb866d35e3ba6436d344f6f96faee2078ffdd4..991ddd45e211b6d66862acb0a684b5891cd068a0 100644 |
--- a/third_party/WebKit/Source/core/svg/SVGAnimatedLength.cpp |
+++ b/third_party/WebKit/Source/core/svg/SVGAnimatedLength.cpp |
@@ -34,6 +34,11 @@ |
namespace blink { |
+void SVGAnimatedLength::setDefaultValue() |
+{ |
+ setDefaultValueAsString(m_defaultValue); |
+} |
+ |
void SVGAnimatedLength::setDefaultValueAsString(const String& value) |
{ |
baseValue()->setValueAsString(value); |
@@ -41,10 +46,15 @@ void SVGAnimatedLength::setDefaultValueAsString(const String& value) |
SVGParsingError SVGAnimatedLength::setBaseValueAsString(const String& value) |
{ |
+ if (value.isNull()) { |
+ setDefaultValue(); |
+ return SVGParseStatus::NoError; |
+ } |
+ |
SVGParsingError parseStatus = baseValue()->setValueAsString(value); |
if (parseStatus != SVGParseStatus::NoError) |
- baseValue()->newValueSpecifiedUnits(CSSPrimitiveValue::UnitType::UserUnits, 0); |
+ setDefaultValue(); |
else if (SVGLength::negativeValuesForbiddenForAnimatedLengthAttribute(attributeName()) && baseValue()->valueInSpecifiedUnits() < 0) |
parseStatus = SVGParseStatus::NegativeValue; |