Chromium Code Reviews| Index: gin/function_template.h |
| diff --git a/gin/function_template.h b/gin/function_template.h |
| index 020357d12fda7d938eee7620f70f25ccfbd8086b..a81e50b66761241bb3777bc5de7ff28abbc2942a 100644 |
| --- a/gin/function_template.h |
| +++ b/gin/function_template.h |
| @@ -15,6 +15,7 @@ |
| #include "base/logging.h" |
| #include "gin/arguments.h" |
| #include "gin/converter.h" |
| +#include "gin/handle.h" |
| #include "gin/public/gin_embedders.h" |
| #include "gin/public/wrapper_info.h" |
| #include "gin/wrappable.h" |
| @@ -306,10 +307,11 @@ v8::Local<v8::FunctionTemplate> CreateFunctionTemplate( |
| v8::Isolate* isolate, |
| const base::Callback<R()> callback) { |
| typedef internal::CallbackHolder<R()> HolderT; |
| - scoped_refptr<HolderT> holder(new HolderT(callback)); |
| + gin::Handle<HolderT> holder = CreateHandle(isolate, new HolderT(callback)); |
| return v8::FunctionTemplate::New( |
| + isolate, |
| &internal::DispatchToCallback<R>, |
| - ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.get())); |
| + ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.Get())); |
| } |
| template<typename R, typename P1> |
| @@ -317,10 +319,11 @@ v8::Local<v8::FunctionTemplate> CreateFunctionTemplate( |
| v8::Isolate* isolate, |
| const base::Callback<R(P1)> callback) { |
| typedef internal::CallbackHolder<R(P1)> HolderT; |
| - scoped_refptr<HolderT> holder(new HolderT(callback)); |
| + gin::Handle<HolderT> holder = CreateHandle(isolate, new HolderT(callback)); |
| return v8::FunctionTemplate::New( |
| + isolate, |
| &internal::DispatchToCallback<R, P1>, |
| - ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.get())); |
| + ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.Get())); |
| } |
| template<typename R, typename P1, typename P2> |
| @@ -328,10 +331,11 @@ v8::Local<v8::FunctionTemplate> CreateFunctionTemplate( |
| v8::Isolate* isolate, |
| const base::Callback<R(P1, P2)> callback) { |
| typedef internal::CallbackHolder<R(P1, P2)> HolderT; |
| - scoped_refptr<HolderT> holder(new HolderT(callback)); |
| + gin::Handle<HolderT> holder = CreateHandle(isolate, new HolderT(callback)); |
| return v8::FunctionTemplate::New( |
| + isolate, |
| &internal::DispatchToCallback<R, P1, P2>, |
| - ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.get())); |
| + ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.Get())); |
| } |
| template<typename R, typename P1, typename P2, typename P3> |
| @@ -339,10 +343,11 @@ v8::Local<v8::FunctionTemplate> CreateFunctionTemplate( |
| v8::Isolate* isolate, |
| const base::Callback<R(P1, P2, P3)> callback) { |
| typedef internal::CallbackHolder<R(P1, P2, P3)> HolderT; |
| - scoped_refptr<HolderT> holder(new HolderT(callback)); |
| + gin::Handle<HolderT> holder = CreateHandle(isolate, new HolderT(callback)); |
| return v8::FunctionTemplate::New( |
| + isolate, |
|
abarth-chromium
2013/12/04 21:33:08
Not sure where this part of the diff is coming fro
Aaron Boodman
2013/12/04 22:04:42
Hm. Perhaps.
|
| &internal::DispatchToCallback<R, P1, P2, P3>, |
| - ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.get())); |
| + ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.Get())); |
| } |
| template<typename R, typename P1, typename P2, typename P3, typename P4> |
| @@ -350,10 +355,11 @@ v8::Local<v8::FunctionTemplate> CreateFunctionTemplate( |
| v8::Isolate* isolate, |
| const base::Callback<R(P1, P2, P3, P4)> callback) { |
| typedef internal::CallbackHolder<R(P1, P2, P3, P4)> HolderT; |
| - scoped_refptr<HolderT> holder(new HolderT(callback)); |
| + gin::Handle<HolderT> holder = CreateHandle(isolate, new HolderT(callback)); |
| return v8::FunctionTemplate::New( |
| + isolate, |
| &internal::DispatchToCallback<R, P1, P2, P3, P4>, |
| - ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.get())); |
| + ConvertToV8<internal::CallbackHolderBase*>(isolate, holder.Get())); |
| } |
| } // namespace gin |