From dd3913fada0f0764ae730151608567d5bb3ed159 Mon Sep 17 00:00:00 2001 From: Jeremy Apthorp Date: Wed, 1 May 2019 13:24:01 -0700 Subject: [PATCH] refactor: convert powerSaveBlocker to gin (#18073) --- .../api/atom_api_power_save_blocker.cc | 29 +++++++++---------- .../browser/api/atom_api_power_save_blocker.h | 20 ++++++------- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/atom/browser/api/atom_api_power_save_blocker.cc b/atom/browser/api/atom_api_power_save_blocker.cc index d1abbe6f47b7..f68c25f81088 100644 --- a/atom/browser/api/atom_api_power_save_blocker.cc +++ b/atom/browser/api/atom_api_power_save_blocker.cc @@ -7,15 +7,17 @@ #include #include "atom/common/node_includes.h" +#include "base/bind_helpers.h" #include "base/task/post_task.h" #include "base/threading/thread_task_runner_handle.h" #include "content/public/common/service_manager_connection.h" -#include "native_mate/dictionary.h" +#include "gin/dictionary.h" +#include "gin/function_template.h" #include "services/device/public/mojom/constants.mojom.h" #include "services/device/public/mojom/wake_lock_provider.mojom.h" #include "services/service_manager/public/cpp/connector.h" -namespace mate { +namespace gin { template <> struct Converter { @@ -35,17 +37,17 @@ struct Converter { } }; -} // namespace mate +} // namespace gin namespace atom { namespace api { +gin::WrapperInfo PowerSaveBlocker::kWrapperInfo = {gin::kEmbedderNativeGin}; + PowerSaveBlocker::PowerSaveBlocker(v8::Isolate* isolate) : current_lock_type_(device::mojom::WakeLockType::kPreventAppSuspension), - is_wake_lock_active_(false) { - Init(isolate); -} + is_wake_lock_active_(false) {} PowerSaveBlocker::~PowerSaveBlocker() {} @@ -118,16 +120,13 @@ bool PowerSaveBlocker::IsStarted(int id) { } // static -mate::Handle PowerSaveBlocker::Create(v8::Isolate* isolate) { - return mate::CreateHandle(isolate, new PowerSaveBlocker(isolate)); +gin::Handle PowerSaveBlocker::Create(v8::Isolate* isolate) { + return gin::CreateHandle(isolate, new PowerSaveBlocker(isolate)); } -// static -void PowerSaveBlocker::BuildPrototype( - v8::Isolate* isolate, - v8::Local prototype) { - prototype->SetClassName(mate::StringToV8(isolate, "PowerSaveBlocker")); - mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate()) +gin::ObjectTemplateBuilder PowerSaveBlocker::GetObjectTemplateBuilder( + v8::Isolate* isolate) { + return gin::Wrappable::GetObjectTemplateBuilder(isolate) .SetMethod("start", &PowerSaveBlocker::Start) .SetMethod("stop", &PowerSaveBlocker::Stop) .SetMethod("isStarted", &PowerSaveBlocker::IsStarted); @@ -144,7 +143,7 @@ void Initialize(v8::Local exports, v8::Local context, void* priv) { v8::Isolate* isolate = context->GetIsolate(); - mate::Dictionary dict(isolate, exports); + gin::Dictionary dict(isolate, exports); dict.Set("powerSaveBlocker", atom::api::PowerSaveBlocker::Create(isolate)); } diff --git a/atom/browser/api/atom_api_power_save_blocker.h b/atom/browser/api/atom_api_power_save_blocker.h index d2feffc09ec5..de4ce1165254 100644 --- a/atom/browser/api/atom_api_power_save_blocker.h +++ b/atom/browser/api/atom_api_power_save_blocker.h @@ -8,24 +8,24 @@ #include #include -#include "atom/browser/api/trackable_object.h" -#include "native_mate/handle.h" +#include "gin/handle.h" +#include "gin/object_template_builder.h" +#include "gin/wrappable.h" #include "services/device/public/mojom/wake_lock.mojom.h" -namespace mate { -class Dictionary; -} - namespace atom { namespace api { -class PowerSaveBlocker : public mate::TrackableObject { +class PowerSaveBlocker : public gin::Wrappable { public: - static mate::Handle Create(v8::Isolate* isolate); + static gin::Handle Create(v8::Isolate* isolate); - static void BuildPrototype(v8::Isolate* isolate, - v8::Local prototype); + // gin::Wrappable + gin::ObjectTemplateBuilder GetObjectTemplateBuilder( + v8::Isolate* isolate) override; + + static gin::WrapperInfo kWrapperInfo; protected: explicit PowerSaveBlocker(v8::Isolate* isolate);