diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index a39f9809ebf0..0e4421316e53 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -527,8 +527,8 @@ void App::BuildPrototype( .SetMethod("show", base::Bind(&Browser::Show, browser)) .SetMethod("setUserActivity", base::Bind(&Browser::SetUserActivity, browser)) - .SetMethod("getCurrentActivityType", - base::Bind(&Browser::GetCurrentActivityType, browser)) + .SetMethod("getLoginItemLaunchStatus", + base::Bind(&Browser::GetLoginItemLaunchStatus, 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 37d2e11e6799..e3d7db92e330 100644 --- a/atom/browser/browser.h +++ b/atom/browser/browser.h @@ -134,6 +134,8 @@ class Browser : public WindowListObserver { // Set docks' icon. void DockSetIcon(const gfx::Image& image); + + v8::Local GetLoginItemLaunchStatus(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 bb789365ffb2..8472ef757981 100644 --- a/atom/browser/browser_mac.mm +++ b/atom/browser/browser_mac.mm @@ -11,9 +11,11 @@ #include "atom/browser/window_list.h" #include "base/mac/bundle_locations.h" #include "base/mac/foundation_util.h" +#include "base/mac/mac_util.h" #include "base/strings/string_number_conversions.h" #include "base/strings/sys_string_conversions.h" #include "brightray/common/application_info.h" +#include "native_mate/dictionary.h" #include "net/base/mac/url_conversions.h" #include "url/gurl.h" @@ -148,6 +150,14 @@ bool Browser::ContinueUserActivity(const std::string& type, return prevent_default; } +v8::Local Browser::GetLoginItemLaunchStatus(mate::Arguments* args) { + mate::Dictionary dict = mate::Dictionary::CreateEmpty(args->isolate()); + dict.Set("loginItem", base::mac::WasLaunchedAsLoginOrResumeItem()); + dict.Set("hidden", base::mac::WasLaunchedAsHiddenLoginItem()); + dict.Set("restoreState", base::mac::WasLaunchedAsLoginItemRestoreState()); + return dict.GetHandle(); +} + std::string Browser::GetExecutableFileVersion() const { return brightray::GetApplicationVersion(); }