refactor: ginify Screen (#24677)

This commit is contained in:
Jeremy Rose 2020-07-28 11:04:01 -07:00 committed by GitHub
parent 362da77c0a
commit e6cf5906f6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 36 additions and 60 deletions

View file

@ -29,6 +29,8 @@ namespace electron {
namespace api {
gin::WrapperInfo Screen::kWrapperInfo = {gin::kEmbedderNativeGin};
namespace {
// Find an item in container according to its ID.
@ -72,7 +74,6 @@ void DelayEmitWithMetrics(Screen* screen,
Screen::Screen(v8::Isolate* isolate, display::Screen* screen)
: screen_(screen) {
screen_->AddObserver(this);
Init(isolate);
}
Screen::~Screen() {
@ -154,11 +155,10 @@ v8::Local<v8::Value> Screen::Create(gin_helper::ErrorThrower error_thrower) {
.ToV8();
}
// static
void Screen::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(gin::StringToV8(isolate, "Screen"));
gin_helper::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
gin::ObjectTemplateBuilder Screen::GetObjectTemplateBuilder(
v8::Isolate* isolate) {
return gin_helper::EventEmitterMixin<Screen>::GetObjectTemplateBuilder(
isolate)
.SetMethod("getCursorScreenPoint", &Screen::GetCursorScreenPoint)
.SetMethod("getPrimaryDisplay", &Screen::GetPrimaryDisplay)
.SetMethod("getAllDisplays", &Screen::GetAllDisplays)
@ -172,6 +172,10 @@ void Screen::BuildPrototype(v8::Isolate* isolate,
.SetMethod("getDisplayMatching", &Screen::GetDisplayMatching);
}
const char* Screen::GetTypeName() {
return "Screen";
}
} // namespace api
} // namespace electron
@ -187,9 +191,6 @@ void Initialize(v8::Local<v8::Object> exports,
v8::Isolate* isolate = context->GetIsolate();
gin_helper::Dictionary dict(isolate, exports);
dict.SetMethod("createScreen", base::BindRepeating(&Screen::Create));
dict.Set(
"Screen",
Screen::GetConstructor(isolate)->GetFunction(context).ToLocalChecked());
}
} // namespace