Index: gin/object_template_builder.cc |
diff --git a/gin/object_template_builder.cc b/gin/object_template_builder.cc |
index 264552f96630a37d0b0b95b8cebc2b432a86f90c..28c9791b05fd00acd8f35b46fe40002825ba2bc1 100644 |
--- a/gin/object_template_builder.cc |
+++ b/gin/object_template_builder.cc |
@@ -93,8 +93,11 @@ void NamedPropertyEnumerator(const v8::PropertyCallbackInfo<v8::Array>& info) { |
NamedInterceptorFromV8(isolate, info.Holder()); |
if (!interceptor) |
return; |
- info.GetReturnValue().Set(v8::Local<v8::Array>::Cast( |
- ConvertToV8(isolate, interceptor->EnumerateNamedProperties(isolate)))); |
+ v8::Local<v8::Value> properties; |
+ if (!TryConvertToV8(isolate, interceptor->EnumerateNamedProperties(isolate), |
+ &properties)) |
+ return; |
+ info.GetReturnValue().Set(v8::Local<v8::Array>::Cast(properties)); |
} |
void IndexedPropertyGetter(uint32_t index, |
@@ -126,8 +129,11 @@ void IndexedPropertyEnumerator( |
IndexedInterceptorFromV8(isolate, info.Holder()); |
if (!interceptor) |
return; |
- info.GetReturnValue().Set(v8::Local<v8::Array>::Cast( |
- ConvertToV8(isolate, interceptor->EnumerateIndexedProperties(isolate)))); |
+ v8::Local<v8::Value> properties; |
+ if (!TryConvertToV8(isolate, interceptor->EnumerateIndexedProperties(isolate), |
+ &properties)) |
+ return; |
+ info.GetReturnValue().Set(v8::Local<v8::Array>::Cast(properties)); |
} |
} // namespace |