| Index: third_party/WebKit/Source/core/svg/SVGAnimatedEnumerationBase.cpp
|
| diff --git a/third_party/WebKit/Source/core/svg/SVGAnimatedEnumerationBase.cpp b/third_party/WebKit/Source/core/svg/SVGAnimatedEnumerationBase.cpp
|
| index 394e71629da21ba5082f6b811c7a4ae1a7ac0997..0e8c333076cc4157ef48183edeeb52e2386e49e4 100644
|
| --- a/third_party/WebKit/Source/core/svg/SVGAnimatedEnumerationBase.cpp
|
| +++ b/third_party/WebKit/Source/core/svg/SVGAnimatedEnumerationBase.cpp
|
| @@ -29,7 +29,6 @@
|
| */
|
|
|
| #include "config.h"
|
| -
|
| #include "core/svg/SVGAnimatedEnumerationBase.h"
|
|
|
| #include "core/svg/SVGElement.h"
|
| @@ -47,9 +46,17 @@ void SVGAnimatedEnumerationBase::setBaseVal(unsigned short value, ExceptionState
|
| return;
|
| }
|
|
|
| - baseValue()->setValue(value, exceptionState);
|
| - if (exceptionState.hadException())
|
| + if (!value) {
|
| + exceptionState.throwTypeError("The enumeration value provided is 0, which is not settable.");
|
| + return;
|
| + }
|
| +
|
| + if (value > baseValue()->maxExposedEnumValue()) {
|
| + exceptionState.throwTypeError("The enumeration value provided (" + String::number(value) + ") is larger than the largest allowed value (" + String::number(baseValue()->maxExposedEnumValue()) + ").");
|
| return;
|
| + }
|
| +
|
| + baseValue()->setValue(value);
|
|
|
| m_baseValueUpdated = true;
|
|
|
|
|