| Index: Source/core/svg/SVGNumber.cpp
|
| diff --git a/Source/core/svg/SVGNumber.cpp b/Source/core/svg/SVGNumber.cpp
|
| index b50bd1bbfba0154c082d8815ffa3265dde70cd84..8e91bbf76e8522e1512bb0a12f9d3494ceb600b0 100644
|
| --- a/Source/core/svg/SVGNumber.cpp
|
| +++ b/Source/core/svg/SVGNumber.cpp
|
| @@ -62,7 +62,7 @@ String SVGNumber::valueAsString() const
|
| template<typename CharType>
|
| bool SVGNumber::parse(const CharType*& ptr, const CharType* end)
|
| {
|
| - if (!parseNumber(ptr, end, m_value, false)) {
|
| + if (!parseNumber(ptr, end, m_value, AllowLeadingAndTrailingWhitespace)) {
|
| m_value = 0;
|
| return false;
|
| }
|
| @@ -127,21 +127,12 @@ PassRefPtr<SVGNumber> SVGNumberAcceptPercentage::clone() const
|
|
|
| void SVGNumberAcceptPercentage::setValueAsString(const String& string, ExceptionState& exceptionState)
|
| {
|
| - if (string.isEmpty()) {
|
| - m_value = 0;
|
| - return;
|
| - }
|
| -
|
| - if (string.endsWith('%')) {
|
| - SVGNumber::setValueAsString(string.left(string.length() - 1), exceptionState);
|
| - if (exceptionState.hadException())
|
| - return;
|
| + bool valid = parseNumberOrPercentage(string, m_value);
|
|
|
| - m_value /= 100.0f;
|
| - return;
|
| + if (!valid) {
|
| + exceptionState.throwDOMException(SyntaxError, "The value provided ('" + string + "') is invalid.");
|
| + m_value = 0;
|
| }
|
| -
|
| - SVGNumber::setValueAsString(string, exceptionState);
|
| }
|
|
|
| SVGNumberAcceptPercentage::SVGNumberAcceptPercentage(float value)
|
|
|