diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-08 07:10:58 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-08 07:10:58 +0000 |
commit | 6fe561067c842ec9d884f1b3356b4218af9a0dfa (patch) | |
tree | 882d0c947132379a432fa1ffad6726450dbb09a2 /mojo/apps | |
parent | 7e9f057cb7830df212b60fd438dfce15e8cec3fb (diff) | |
download | chromium_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.cc | 13 | ||||
-rw-r--r-- | mojo/apps/js/bindings/waiting_callback.h | 4 |
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 { |