diff options
author | dimich@chromium.org <dimich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-27 01:54:28 +0000 |
---|---|---|
committer | dimich@chromium.org <dimich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-27 01:54:28 +0000 |
commit | 1c704b71a123770b6091a01d9a54ac57a99ae290 (patch) | |
tree | 05c4bf67cbd39da2d2cb7891596a64cb6b5e7b9f /chrome/browser/background_mode_manager.cc | |
parent | 3dc423f963527b2788226359b34ab367f0788e44 (diff) | |
download | chromium_src-1c704b71a123770b6091a01d9a54ac57a99ae290.zip chromium_src-1c704b71a123770b6091a01d9a54ac57a99ae290.tar.gz chromium_src-1c704b71a123770b6091a01d9a54ac57a99ae290.tar.bz2 |
Revert 57614 - Re-land. Fixed previous build error.
It looks like it broke browser_tests. Will revert and investigate.
Implement OSX version for "Start on Login" for background-enabled extensions.
Review URL: http://codereview.chromium.org/3163029
TBR=dimich@chromium.org
Review URL: http://codereview.chromium.org/3226002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57625 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/background_mode_manager.cc')
-rw-r--r-- | chrome/browser/background_mode_manager.cc | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/chrome/browser/background_mode_manager.cc b/chrome/browser/background_mode_manager.cc index b619177..871e243 100644 --- a/chrome/browser/background_mode_manager.cc +++ b/chrome/browser/background_mode_manager.cc @@ -23,10 +23,6 @@ #include "grit/generated_resources.h" #include "grit/theme_resources.h" -#if defined(OS_MACOSX) -#include "base/mac_util.h" -#endif - #if defined(TOOLKIT_GTK) #include "chrome/browser/gtk/gtk_util.h" #endif @@ -86,27 +82,13 @@ bool BackgroundModeManager::IsBackgroundModeEnabled() { return profile_->GetPrefs()->GetBoolean(prefs::kBackgroundModeEnabled); } -bool BackgroundModeManager::IsLaunchOnStartupResetAllowed() { - return profile_->GetPrefs()->GetBoolean(prefs::kLaunchOnStartupResetAllowed); -} - -void BackgroundModeManager::SetLaunchOnStartupResetAllowed(bool allowed) { - profile_->GetPrefs()->SetBoolean(prefs::kLaunchOnStartupResetAllowed, - allowed); -} - void BackgroundModeManager::Observe(NotificationType type, const NotificationSource& source, const NotificationDetails& details) { switch (type.value) { case NotificationType::EXTENSIONS_READY: - // On a Mac, we use 'login items' mechanism which has user-facing UI so we - // don't want to stomp on user choice every time we start and load - // registered extensions. -#if !defined(OS_MACOSX) EnableLaunchOnStartup(IsBackgroundModeEnabled() && background_app_count_ > 0); -#endif break; case NotificationType::EXTENSION_LOADED: if (IsBackgroundApp(Details<Extension>(details).ptr())) @@ -189,38 +171,8 @@ void BackgroundModeManager::OnBackgroundAppUninstalled() { } void BackgroundModeManager::EnableLaunchOnStartup(bool should_launch) { - // TODO(BUG43382): Add code for other platforms to enable/disable launch on + // TODO(atwilson): Add platform-specific code to enable/disable launch on // startup. - - // This functionality is only defined for default profile, currently. - if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kUserDataDir)) - return; - -#if defined(OS_MACOSX) - if (should_launch) { - // Return if Chrome is already a Login Item (avoid overriding user choice). - if (mac_util::CheckLoginItemStatus(NULL)) - return; - - mac_util::AddToLoginItems(true); // Hide on startup. - - // Remember we set Login Item, not the user - so we can reset it later. - SetLaunchOnStartupResetAllowed(true); - } else { - // If we didn't set Login Item, don't mess with it. - if (!IsLaunchOnStartupResetAllowed()) - return; - SetLaunchOnStartupResetAllowed(false); - - // Check if Chrome is not a login Item, or is a Login Item but w/o 'hidden' - // flag - most likely user has modified the setting, don't override it. - bool is_hidden = false; - if (!mac_util::CheckLoginItemStatus(&is_hidden) || !is_hidden) - return; - - mac_util::RemoveFromLoginItems(); - } -#endif } void BackgroundModeManager::CreateStatusTrayIcon() { @@ -317,5 +269,4 @@ Browser* BackgroundModeManager::GetBrowserWindow() { // static void BackgroundModeManager::RegisterUserPrefs(PrefService* prefs) { prefs->RegisterBooleanPref(prefs::kBackgroundModeEnabled, true); - prefs->RegisterBooleanPref(prefs::kLaunchOnStartupResetAllowed, false); } |