OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "mojo/apps/js/bindings/gl/opaque.h" | |
6 | |
7 #include "gin/object_template_builder.h" | |
8 #include "gin/per_isolate_data.h" | |
9 | |
10 namespace mojo { | |
11 namespace js { | |
12 namespace gl { | |
13 | |
14 gin::WrapperInfo Opaque::kWrapperInfo = { gin::kEmbedderNativeGin }; | |
15 | |
16 gin::Handle<Opaque> Opaque::Create(v8::Isolate* isolate, GLuint value) { | |
17 return CreateHandle(isolate, new Opaque(value)); | |
18 } | |
19 | |
20 v8::Handle<v8::ObjectTemplate> Opaque::GetObjectTemplate(v8::Isolate* isolate) { | |
21 gin::PerIsolateData* data = gin::PerIsolateData::From(isolate); | |
22 v8::Local<v8::ObjectTemplate> templ = data->GetObjectTemplate(&kWrapperInfo); | |
23 if (templ.IsEmpty()) { | |
24 templ = gin::ObjectTemplateBuilder(isolate) | |
25 .Build(); | |
26 templ->SetInternalFieldCount(gin::kNumberOfInternalFields); | |
27 data->SetObjectTemplate(&kWrapperInfo, templ); | |
28 } | |
29 return templ; | |
30 } | |
abarth-chromium
2013/12/11 06:24:22
This boilerplate does seem ripe for factoring out.
| |
31 | |
32 Opaque::Opaque(GLuint value) : value_(value) { | |
33 } | |
34 | |
35 } // namespace gl | |
36 } // namespace js | |
37 } // namespace mojo | |
OLD | NEW |