diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index 0e4421316e53..f032e7043d67 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -529,6 +529,8 @@ void App::BuildPrototype( base::Bind(&Browser::SetUserActivity, browser)) .SetMethod("getLoginItemLaunchStatus", base::Bind(&Browser::GetLoginItemLaunchStatus, browser)) + .SetMethod("getLoginItemStatus", + base::Bind(&Browser::GetLoginItemStatus, browser)) #endif #if defined(OS_WIN) .SetMethod("setUserTasks", base::Bind(&Browser::SetUserTasks, browser)) diff --git a/atom/browser/browser.h b/atom/browser/browser.h index e3d7db92e330..32fa67b30744 100644 --- a/atom/browser/browser.h +++ b/atom/browser/browser.h @@ -135,7 +135,11 @@ class Browser : public WindowListObserver { // Set docks' icon. void DockSetIcon(const gfx::Image& image); + // Get login item status of current app launch v8::Local GetLoginItemLaunchStatus(mate::Arguments* args); + + // Get login item status of app + v8::Local GetLoginItemStatus(mate::Arguments* args); #endif // defined(OS_MACOSX) #if defined(OS_WIN) diff --git a/atom/browser/browser_mac.mm b/atom/browser/browser_mac.mm index 8472ef757981..0da56347ef66 100644 --- a/atom/browser/browser_mac.mm +++ b/atom/browser/browser_mac.mm @@ -158,6 +158,14 @@ v8::Local Browser::GetLoginItemLaunchStatus(mate::Arguments* args) { return dict.GetHandle(); } +v8::Local Browser::GetLoginItemStatus(mate::Arguments* args) { + bool hidden = false; + mate::Dictionary dict = mate::Dictionary::CreateEmpty(args->isolate()); + dict.Set("loginItem", base::mac::CheckLoginItemStatus(&hidden)); + dict.Set("hidden", hidden); + return dict.GetHandle(); +} + std::string Browser::GetExecutableFileVersion() const { return brightray::GetApplicationVersion(); }