Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Unified Diff: gin/object_template_builder.cc

Issue 1152653004: Re-land: gin: Use V8 Maybe APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gin/modules/module_registry.cc ('k') | gin/shell/gin_main.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « gin/modules/module_registry.cc ('k') | gin/shell/gin_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698