| Index: third_party/WebKit/Source/bindings/templates/attributes.cpp
|
| diff --git a/third_party/WebKit/Source/bindings/templates/attributes.cpp b/third_party/WebKit/Source/bindings/templates/attributes.cpp
|
| index ccd092281c5264e69acc00c36d0013f130c65466..25b4e32a50b8ceb80992d8af92616804314b5ff5 100644
|
| --- a/third_party/WebKit/Source/bindings/templates/attributes.cpp
|
| +++ b/third_party/WebKit/Source/bindings/templates/attributes.cpp
|
| @@ -82,7 +82,7 @@ const v8::FunctionCallbackInfo<v8::Value>& info
|
| {% endif %}
|
| {# Checks #}
|
| {% if attribute.is_getter_raises_exception %}
|
| - if (UNLIKELY(exceptionState.throwIfNeeded()))
|
| + if (UNLIKELY(exceptionState.hadException()))
|
| return;
|
| {% endif %}
|
| {# Security checks #}
|
| @@ -90,7 +90,6 @@ const v8::FunctionCallbackInfo<v8::Value>& info
|
| {% if attribute.is_check_security_for_receiver %}
|
| if (!BindingSecurity::shouldAllowAccessTo(info.GetIsolate(), currentDOMWindow(info.GetIsolate()), impl, exceptionState)) {
|
| v8SetReturnValueNull(info);
|
| - exceptionState.throwIfNeeded();
|
| return;
|
| }
|
| {% endif %}
|
| @@ -98,7 +97,6 @@ const v8::FunctionCallbackInfo<v8::Value>& info
|
| {% if attribute.is_check_security_for_return_value %}
|
| if (!BindingSecurity::shouldAllowAccessTo(info.GetIsolate(), currentDOMWindow(info.GetIsolate()), {{attribute.cpp_value}}, exceptionState)) {
|
| v8SetReturnValueNull(info);
|
| - exceptionState.throwIfNeeded();
|
| return;
|
| }
|
| {% endif %}
|
| @@ -290,7 +288,6 @@ v8::Local<v8::Value> v8Value, const v8::FunctionCallbackInfo<v8::Value>& info
|
| {% if attribute.is_check_security_for_receiver %}
|
| if (!BindingSecurity::shouldAllowAccessTo(info.GetIsolate(), currentDOMWindow(info.GetIsolate()), impl, exceptionState)) {
|
| v8SetReturnValue(info, v8Value);
|
| - exceptionState.throwIfNeeded();
|
| return;
|
| }
|
| {% endif %}
|
| @@ -315,7 +312,6 @@ v8::Local<v8::Value> v8Value, const v8::FunctionCallbackInfo<v8::Value>& info
|
| TypeError), per http://www.w3.org/TR/WebIDL/#es-interface #}
|
| if (!cppValue{% if attribute.is_nullable %} && !isUndefinedOrNull(v8Value){% endif %}) {
|
| exceptionState.throwTypeError("The provided value is not of type '{{attribute.idl_type}}'.");
|
| - exceptionState.throwIfNeeded();
|
| return;
|
| }
|
| {% elif attribute.enum_values %}
|
| @@ -349,9 +345,6 @@ v8::Local<v8::Value> v8Value, const v8::FunctionCallbackInfo<v8::Value>& info
|
| {{attribute.cpp_setter}};
|
| {% endif %}
|
| {# Post-set #}
|
| - {% if attribute.is_setter_raises_exception %}
|
| - exceptionState.throwIfNeeded();
|
| - {% endif %}
|
| {% if attribute.cached_attribute_validation_method %}
|
| V8HiddenValue::deleteHiddenValue(ScriptState::current(info.GetIsolate()), holder, v8AtomicString(info.GetIsolate(), "{{attribute.name}}")); // Invalidate the cached value.
|
| {% endif %}
|
|
|