Index: third_party/WebKit/Source/core/svg/SVGAngleTearOff.cpp |
diff --git a/third_party/WebKit/Source/core/svg/SVGAngleTearOff.cpp b/third_party/WebKit/Source/core/svg/SVGAngleTearOff.cpp |
index d20417cfc65dd707bd16e1c4e14cc994ce87d9b7..ee043be0c9bf62eebd295cb999d37db13d95ebcc 100644 |
--- a/third_party/WebKit/Source/core/svg/SVGAngleTearOff.cpp |
+++ b/third_party/WebKit/Source/core/svg/SVGAngleTearOff.cpp |
@@ -114,10 +114,13 @@ void SVGAngleTearOff::setValueAsString(const String& value, ExceptionState& exce |
String oldValue = target()->valueAsString(); |
- target()->setValueAsString(value, exceptionState); |
+ SVGParsingError status = target()->setValueAsString(value); |
- if (!exceptionState.hadException() && !hasExposedAngleUnit()) { |
- target()->setValueAsString(oldValue, ASSERT_NO_EXCEPTION); // rollback to old value |
pdr.
2015/12/23 04:00:08
Is this rollback behavior spec'd? Not a big deal e
fs
2015/12/23 10:04:17
As I recall this was subject of discussion in the
fs
2015/12/23 12:54:47
After some mild digging I found:
http://www.w3.or
|
+ if (status == NoError && !hasExposedAngleUnit()) { |
+ target()->setValueAsString(oldValue); // rollback to old value |
+ status = ParsingAttributeFailedError; |
+ } |
+ if (status != NoError) { |
exceptionState.throwDOMException(SyntaxError, "The value provided ('" + value + "') is invalid."); |
return; |
} |