Index: third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl |
diff --git a/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl |
index 50e3b25f6728ce7f06c67f4a1120ba8640239e42..8390f85535d9592c3dcb32121768fa70dd6078ce 100644 |
--- a/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl |
+++ b/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl |
@@ -81,7 +81,10 @@ bool {{cpp_class}}::call({{argument_declarations | join(', ')}}) { |
} |
{{cpp_class}}* NativeValueTraits<{{cpp_class}}>::nativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { |
- return {{cpp_class}}::create(ScriptState::current(isolate), value); |
+ {{cpp_class}}* nativeValue = {{cpp_class}}::create(ScriptState::current(isolate), value); |
+ if (!nativeValue) |
+ exceptionState.throwTypeError("Unable to convert value to {{callback_function_name}}."); |
+ return nativeValue; |
} |
} // namespace blink |