Index: gin/object_template_builder.cc |
diff --git a/gin/object_template_builder.cc b/gin/object_template_builder.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3a148e77818b363445a4dcf2aae72c6b988bd76a |
--- /dev/null |
+++ b/gin/object_template_builder.cc |
@@ -0,0 +1,28 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "gin/object_template_builder.h" |
+ |
+namespace gin { |
+ |
+ObjectTemplateBuilder::ObjectTemplateBuilder(v8::Isolate* isolate) |
+ : isolate_(isolate), template_(v8::ObjectTemplate::New(isolate)) { |
+} |
+ |
+ObjectTemplateBuilder::~ObjectTemplateBuilder() { |
+} |
+ |
+ObjectTemplateBuilder& ObjectTemplateBuilder::SetImpl( |
+ const base::StringPiece& name, v8::Handle<v8::Data> val) { |
+ template_->Set(StringToSymbol(isolate_, name), val); |
+ return *this; |
+} |
+ |
+v8::Local<v8::ObjectTemplate> ObjectTemplateBuilder::Build() { |
+ v8::Local<v8::ObjectTemplate> result = template_; |
+ template_.Clear(); |
+ return result; |
+} |
+ |
+} // namespace gin |