| 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
|
|
|