| Index: Source/core/svg/SVGAngleTearOff.cpp
|
| diff --git a/Source/core/svg/SVGAngleTearOff.cpp b/Source/core/svg/SVGAngleTearOff.cpp
|
| index 8a5f832ace8e6ee456c1aa82d5aebe6f3d21c665..33145fce03db9f490deee4cff18a76626afd1fed 100644
|
| --- a/Source/core/svg/SVGAngleTearOff.cpp
|
| +++ b/Source/core/svg/SVGAngleTearOff.cpp
|
| @@ -32,6 +32,7 @@
|
| #include "core/svg/SVGAngleTearOff.h"
|
|
|
| #include "bindings/v8/ExceptionState.h"
|
| +#include "bindings/v8/ExceptionStatePlaceholder.h"
|
| #include "core/dom/ExceptionCode.h"
|
|
|
| namespace WebCore {
|
| @@ -108,7 +109,16 @@ void SVGAngleTearOff::setValueAsString(const String& value, ExceptionState& exce
|
| return;
|
| }
|
|
|
| + String oldValue = target()->valueAsString();
|
| +
|
| target()->setValueAsString(value, exceptionState);
|
| +
|
| + if (!exceptionState.hadException() && !hasExposedAngleUnit()) {
|
| + target()->setValueAsString(oldValue, ASSERT_NO_EXCEPTION); // rollback to old value
|
| + exceptionState.throwDOMException(SyntaxError, "The value provided ('" + value + "') is invalid.");
|
| + return;
|
| + }
|
| +
|
| commitChange();
|
| }
|
|
|
|
|