Index: chrome/browser/background/background_mode_manager_mac.mm |
diff --git a/chrome/browser/background/background_mode_manager_mac.mm b/chrome/browser/background/background_mode_manager_mac.mm |
index 120aa37bd293a014b775cb217de7bc98bdde4407..e0ff3426a7e7b9b066424144351368cf26d8bc7b 100644 |
--- a/chrome/browser/background/background_mode_manager_mac.mm |
+++ b/chrome/browser/background/background_mode_manager_mac.mm |
@@ -2,6 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "base/bind.h" |
#include "base/command_line.h" |
#include "base/mac/mac_util.h" |
#include "chrome/browser/background/background_mode_manager.h" |
@@ -17,22 +18,7 @@ using content::BrowserThread; |
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() { |
+void DisableLaunchOnStartupCallback() { |
// 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; |
@@ -42,7 +28,7 @@ void DisableLaunchOnStartupTask::Run() { |
base::mac::RemoveFromLoginItems(); |
} |
-void EnableLaunchOnStartupTask::Run() { |
+void EnableLaunchOnStartupCallback() { |
// 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 |
@@ -51,14 +37,14 @@ void EnableLaunchOnStartupTask::Run() { |
// 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()); |
+ base::Bind(SetUserCreatedLoginItemPrefCallback)); |
return; |
} |
base::mac::AddToLoginItems(true); // Hide on startup. |
} |
-void SetUserCreatedLoginItemPrefTask::Run() { |
+void SetUserCreatedLoginItemPrefCallback() { |
PrefService* service = g_browser_process->local_state(); |
service->SetBoolean(prefs::kUserCreatedLoginItem, true); |
} |
@@ -72,7 +58,7 @@ void BackgroundModeManager::EnableLaunchOnStartup(bool should_launch) { |
if (should_launch) { |
BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
- new EnableLaunchOnStartupTask()); |
+ base::Bind(EnableLaunchOnStartupCallback)); |
} else { |
PrefService* service = g_browser_process->local_state(); |
if (service->GetBoolean(prefs::kUserCreatedLoginItem)) { |
@@ -83,7 +69,7 @@ void BackgroundModeManager::EnableLaunchOnStartup(bool should_launch) { |
// Call to the File thread to remove the login item since it requires |
// accessing the disk. |
BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
- new DisableLaunchOnStartupTask()); |
+ base::Bind(DisableLaunchOnStartupCallback)); |
} |
} |