summaryrefslogtreecommitdiffstats
path: root/mojo/apps
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-19 00:52:44 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-19 00:52:44 +0000
commit13c977e698996af379fad9a1b5015c6783d3465c (patch)
treec6bc716445370f32f5a708ff8963bc61802026a2 /mojo/apps
parent40e16762b22d3015ec00b51ff0072d0cbbf5fa43 (diff)
downloadchromium_src-13c977e698996af379fad9a1b5015c6783d3465c.zip
chromium_src-13c977e698996af379fad9a1b5015c6783d3465c.tar.gz
chromium_src-13c977e698996af379fad9a1b5015c6783d3465c.tar.bz2
Add support for wrapping classes indirectly inherited from gin::Wrappable<T>
This is needed for: https://codereview.chromium.org/116163008/ Review URL: https://codereview.chromium.org/118423004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241730 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/apps')
-rw-r--r--mojo/apps/js/bindings/gl/context.cc19
-rw-r--r--mojo/apps/js/bindings/gl/context.h5
2 files changed, 12 insertions, 12 deletions
diff --git a/mojo/apps/js/bindings/gl/context.cc b/mojo/apps/js/bindings/gl/context.cc
index efba8e5..c0bb74a 100644
--- a/mojo/apps/js/bindings/gl/context.cc
+++ b/mojo/apps/js/bindings/gl/context.cc
@@ -21,16 +21,6 @@ gin::Handle<Context> Context::Create(v8::Isolate* isolate, uint64_t encoded,
return gin::CreateHandle(isolate, new Context(encoded, width, height));
}
-v8::Local<v8::ObjectTemplate> Context::GetObjectTemplate(
- v8::Isolate* isolate) {
- return gin::ObjectTemplateBuilder(isolate)
- .SetValue("VERTEX_SHADER", GL_VERTEX_SHADER)
- .SetMethod("createShader", CreateShader)
- .SetMethod("shaderSource", ShaderSource)
- .SetMethod("compileShader", CompileShader)
- .Build();
-}
-
gin::Handle<Shader> Context::CreateShader(const gin::Arguments& args,
GLenum type) {
gin::Handle<Shader> result;
@@ -60,6 +50,15 @@ void Context::CompileShader(const gin::Arguments& args,
}
}
+gin::ObjectTemplateBuilder Context::GetObjectTemplateBuilder(
+ v8::Isolate* isolate) {
+ return gin::Wrappable<Context>::GetObjectTemplateBuilder(isolate)
+ .SetValue("VERTEX_SHADER", GL_VERTEX_SHADER)
+ .SetMethod("createShader", CreateShader)
+ .SetMethod("shaderSource", ShaderSource)
+ .SetMethod("compileShader", CompileShader);
+}
+
Context::Context(uint64_t encoded, int width, int height)
: encoded_(encoded) {
// TODO(aa): When we want to support multiple contexts, we should add
diff --git a/mojo/apps/js/bindings/gl/context.h b/mojo/apps/js/bindings/gl/context.h
index 11f1753..a5a3ca1 100644
--- a/mojo/apps/js/bindings/gl/context.h
+++ b/mojo/apps/js/bindings/gl/context.h
@@ -28,8 +28,6 @@ class Context : public gin::Wrappable<Context> {
public:
static gin::WrapperInfo kWrapperInfo;
- static v8::Local<v8::ObjectTemplate> GetObjectTemplate(v8::Isolate* isolate);
-
static gin::Handle<Context> Create(v8::Isolate* isolate, uint64_t encoded,
int width, int height);
static gin::Handle<Shader> CreateShader(const gin::Arguments& arguments,
@@ -40,6 +38,9 @@ class Context : public gin::Wrappable<Context> {
gin::Handle<Shader> shader);
private:
+ virtual gin::ObjectTemplateBuilder GetObjectTemplateBuilder(
+ v8::Isolate* isolate) OVERRIDE;
+
Context(uint64_t encoded, int width, int height);
uint64_t encoded_;