diff options
author | atwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-17 16:36:53 +0000 |
---|---|---|
committer | atwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-17 16:36:53 +0000 |
commit | a07676b20a2577777dc00573dba37c0927958f92 (patch) | |
tree | 4a606e62b966606c829d14d2f6d8c942eb174727 /chrome/browser/background_mode_manager_mac.mm | |
parent | f8d73bc892048b4c5398b90d2978e3bda8317a66 (diff) | |
download | chromium_src-a07676b20a2577777dc00573dba37c0927958f92.zip chromium_src-a07676b20a2577777dc00573dba37c0927958f92.tar.gz chromium_src-a07676b20a2577777dc00573dba37c0927958f92.tar.bz2 |
Moved files related to background mode to browser/background.
BUG=none
TEST=If it compiles, it works.
Review URL: http://codereview.chromium.org/7187028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89497 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/background_mode_manager_mac.mm')
-rw-r--r-- | chrome/browser/background_mode_manager_mac.mm | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/chrome/browser/background_mode_manager_mac.mm b/chrome/browser/background_mode_manager_mac.mm deleted file mode 100644 index f7fad87..0000000 --- a/chrome/browser/background_mode_manager_mac.mm +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/command_line.h" -#include "base/mac/mac_util.h" -#include "chrome/browser/background_mode_manager.h" -#include "chrome/browser/browser_process.h" -#include "chrome/browser/prefs/pref_service.h" -#include "chrome/common/chrome_switches.h" -#include "chrome/common/pref_names.h" -#include "content/browser/browser_thread.h" -#include "grit/generated_resources.h" -#include "ui/base/l10n/l10n_util.h" - -namespace { - -class DisableLaunchOnStartupTask : public Task { - public: - virtual void Run(); -}; - -class EnableLaunchOnStartupTask : public Task { - public: - virtual void Run(); -}; - -class SetUserCreatedLoginItemPrefTask : public Task { - public: - virtual void Run(); -}; - -void DisableLaunchOnStartupTask::Run() { - // 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 (!base::mac::CheckLoginItemStatus(&is_hidden) || !is_hidden) - return; - - base::mac::RemoveFromLoginItems(); -} - -void EnableLaunchOnStartupTask::Run() { - // Return if Chrome is already a Login Item (avoid overriding user choice). - if (base::mac::CheckLoginItemStatus(NULL)) { - // Call back to the UI thread to set our preference so we don't delete the - // user's login item when we disable launch on startup. There's a race - // condition here if the user disables launch on startup before our callback - // is run, but the user can manually disable "Open At Login" via the dock if - // this happens. - BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, - new SetUserCreatedLoginItemPrefTask()); - return; - } - - base::mac::AddToLoginItems(true); // Hide on startup. -} - -void SetUserCreatedLoginItemPrefTask::Run() { - PrefService* service = g_browser_process->local_state(); - service->SetBoolean(prefs::kUserCreatedLoginItem, true); -} - -} // namespace - -void BackgroundModeManager::EnableLaunchOnStartup(bool should_launch) { - // This functionality is only defined for default profile, currently. - if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kUserDataDir)) - return; - - if (should_launch) { - BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, - new EnableLaunchOnStartupTask()); - } else { - PrefService* service = g_browser_process->local_state(); - if (service->GetBoolean(prefs::kUserCreatedLoginItem)) { - // We didn't create the login item, so nothing to do here. - service->ClearPref(prefs::kUserCreatedLoginItem); - return; - } - // Call to the File thread to remove the login item since it requires - // accessing the disk. - BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, - new DisableLaunchOnStartupTask()); - } -} - -void BackgroundModeManager::DisplayAppInstalledNotification( - const Extension* extension) { - // TODO(atwilson): Display a platform-appropriate notification here. - // http://crbug.com/74970 -} - -string16 BackgroundModeManager::GetPreferencesMenuLabel() { - return l10n_util::GetStringUTF16(IDS_OPTIONS); -} |