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

Unified Diff: extensions/renderer/binding_generating_native_handler.cc

Issue 2845463002: gin: Create a DataObjectBuilder class to help create simple data objects. (Closed)
Patch Set: devlin, jochen Created 3 years, 8 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 | « content/renderer/skia_benchmarking_extension.cc ('k') | gin/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/renderer/binding_generating_native_handler.cc
diff --git a/extensions/renderer/binding_generating_native_handler.cc b/extensions/renderer/binding_generating_native_handler.cc
index 5aa161be73fbcd927e06793c73d620caf993b221..333dbc7ead4a564362e294f4a8aab570a4899ec6 100644
--- a/extensions/renderer/binding_generating_native_handler.cc
+++ b/extensions/renderer/binding_generating_native_handler.cc
@@ -9,6 +9,7 @@
#include "base/timer/elapsed_timer.h"
#include "extensions/renderer/script_context.h"
#include "extensions/renderer/v8_helpers.h"
+#include "gin/data_object_builder.h"
namespace extensions {
@@ -37,9 +38,7 @@ v8::Local<v8::Object> BindingGeneratingNativeHandler::NewInstance() {
// Convert |api_name| and |bind_to| into their v8::Strings to pass
// through the v8 APIs.
v8::Local<v8::String> v8_api_name;
- v8::Local<v8::String> v8_bind_to;
- if (!ToV8String(isolate, api_name_, &v8_api_name) ||
- !ToV8String(isolate, bind_to_, &v8_bind_to)) {
+ if (!ToV8String(isolate, api_name_, &v8_api_name)) {
NOTREACHED();
return v8::Local<v8::Object>();
}
@@ -94,7 +93,6 @@ v8::Local<v8::Object> BindingGeneratingNativeHandler::NewInstance() {
v8::Local<v8::Function> generate = generate_value.As<v8::Function>();
// require('binding').Binding.create(api_name).generate();
- v8::Local<v8::Object> object = v8::Object::New(isolate);
v8::Local<v8::Value> compiled_schema;
if (!CallFunction(v8_context, generate, binding_instance, 0, nullptr,
&compiled_schema)) {
@@ -104,10 +102,8 @@ v8::Local<v8::Object> BindingGeneratingNativeHandler::NewInstance() {
// var result = {};
// result[bind_to] = ...;
- if (!SetProperty(v8_context, object, v8_bind_to, compiled_schema)) {
- NOTREACHED();
- return v8::Local<v8::Object>();
- }
+ v8::Local<v8::Object> object =
+ gin::DataObjectBuilder(isolate).Set(bind_to_, compiled_schema).Build();
// Log UMA with microsecond accuracy*; maxes at 10 seconds.
// *Obviously, limited by our TimeTicks implementation, but as close as
« no previous file with comments | « content/renderer/skia_benchmarking_extension.cc ('k') | gin/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698