| 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..eace6773a8c1e907519941705170b150047f301f 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).Finish();
|
|
|
| // Log UMA with microsecond accuracy*; maxes at 10 seconds.
|
| // *Obviously, limited by our TimeTicks implementation, but as close as
|
|
|