summaryrefslogtreecommitdiffstats
path: root/chrome/browser/background_mode_manager_mac.mm
diff options
context:
space:
mode:
authoratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-17 16:36:53 +0000
committeratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-17 16:36:53 +0000
commita07676b20a2577777dc00573dba37c0927958f92 (patch)
tree4a606e62b966606c829d14d2f6d8c942eb174727 /chrome/browser/background_mode_manager_mac.mm
parentf8d73bc892048b4c5398b90d2978e3bda8317a66 (diff)
downloadchromium_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.mm96
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);
-}