From 6ac926aa3248eb934212e2c2065446f00d765e09 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 15 Apr 2014 11:34:07 +0800 Subject: [PATCH] Enable modifying existing ObjectTemplate. --- native_mate/object_template_builder.cc | 6 ++++-- native_mate/object_template_builder.h | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/native_mate/object_template_builder.cc b/native_mate/object_template_builder.cc index a8022158fb..7c40b58267 100644 --- a/native_mate/object_template_builder.cc +++ b/native_mate/object_template_builder.cc @@ -6,8 +6,10 @@ namespace mate { -ObjectTemplateBuilder::ObjectTemplateBuilder(v8::Isolate* isolate) - : isolate_(isolate), template_(v8::ObjectTemplate::New()) { +ObjectTemplateBuilder::ObjectTemplateBuilder( + v8::Isolate* isolate, + v8::Local templ) + : isolate_(isolate), template_(templ) { template_->SetInternalFieldCount(1); } diff --git a/native_mate/object_template_builder.h b/native_mate/object_template_builder.h index fb4be83242..cd69c47925 100644 --- a/native_mate/object_template_builder.h +++ b/native_mate/object_template_builder.h @@ -68,7 +68,9 @@ struct CallbackTraits > { // v8::ObjectTemplate instances with various sorts of properties. class ObjectTemplateBuilder { public: - explicit ObjectTemplateBuilder(v8::Isolate* isolate); + explicit ObjectTemplateBuilder( + v8::Isolate* isolate, + v8::Local templ = v8::ObjectTemplate::New()); ~ObjectTemplateBuilder(); // It's against Google C++ style to return a non-const ref, but we take some