summaryrefslogtreecommitdiffstats
path: root/mojo/apps
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-08 07:10:58 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-08 07:10:58 +0000
commit6fe561067c842ec9d884f1b3356b4218af9a0dfa (patch)
tree882d0c947132379a432fa1ffad6726450dbb09a2 /mojo/apps
parent7e9f057cb7830df212b60fd438dfce15e8cec3fb (diff)
downloadchromium_src-6fe561067c842ec9d884f1b3356b4218af9a0dfa.zip
chromium_src-6fe561067c842ec9d884f1b3356b4218af9a0dfa.tar.gz
chromium_src-6fe561067c842ec9d884f1b3356b4218af9a0dfa.tar.bz2
Gin: Make it easier to implement Wrappable.
BUG= Review URL: https://codereview.chromium.org/105743007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239387 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/apps')
-rw-r--r--mojo/apps/js/bindings/waiting_callback.cc13
-rw-r--r--mojo/apps/js/bindings/waiting_callback.h4
2 files changed, 6 insertions, 11 deletions
diff --git a/mojo/apps/js/bindings/waiting_callback.cc b/mojo/apps/js/bindings/waiting_callback.cc
index a1d230c..48166d1 100644
--- a/mojo/apps/js/bindings/waiting_callback.cc
+++ b/mojo/apps/js/bindings/waiting_callback.cc
@@ -7,6 +7,8 @@
#include "gin/per_context_data.h"
#include "gin/per_isolate_data.h"
+INIT_WRAPPABLE(mojo::js::WaitingCallback);
+
namespace mojo {
namespace js {
@@ -35,19 +37,14 @@ gin::Handle<WaitingCallback> WaitingCallback::Create(
return gin::CreateHandle(isolate, new WaitingCallback(isolate, callback));
}
-gin::WrapperInfo WaitingCallback::kWrapperInfo = { gin::kEmbedderNativeGin };
-
-gin::WrapperInfo* WaitingCallback::GetWrapperInfo() {
- return &kWrapperInfo;
-}
-
void WaitingCallback::EnsureRegistered(v8::Isolate* isolate) {
gin::PerIsolateData* data = gin::PerIsolateData::From(isolate);
- if (!data->GetObjectTemplate(&kWrapperInfo).IsEmpty())
+ if (!data->GetObjectTemplate(&WaitingCallback::kWrapperInfo).IsEmpty()) {
return;
+ }
v8::Handle<v8::ObjectTemplate> templ = v8::ObjectTemplate::New(isolate);
templ->SetInternalFieldCount(gin::kNumberOfInternalFields);
- data->SetObjectTemplate(&kWrapperInfo, templ);
+ data->SetObjectTemplate(&WaitingCallback::kWrapperInfo, templ);
}
void WaitingCallback::OnHandleReady(MojoResult result) {
diff --git a/mojo/apps/js/bindings/waiting_callback.h b/mojo/apps/js/bindings/waiting_callback.h
index e8721e3..8bc7628 100644
--- a/mojo/apps/js/bindings/waiting_callback.h
+++ b/mojo/apps/js/bindings/waiting_callback.h
@@ -13,14 +13,12 @@
namespace mojo {
namespace js {
-class WaitingCallback : public gin::Wrappable,
+class WaitingCallback : public gin::Wrappable<WaitingCallback>,
public BindingsSupport::AsyncWaitCallback {
public:
static gin::Handle<WaitingCallback> Create(
v8::Isolate* isolate, v8::Handle<v8::Function> callback);
- static gin::WrapperInfo kWrapperInfo;
- virtual gin::WrapperInfo* GetWrapperInfo() OVERRIDE;
static void EnsureRegistered(v8::Isolate* isolate);
BindingsSupport::AsyncWaitID wait_id() const {