Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(907)

Unified Diff: chrome/browser/background/background_mode_manager_gtk.cc

Issue 8680017: base::Bind: Convert BackgroundModeManager Tasks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Win build fix. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/background/background_mode_manager_mac.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/background/background_mode_manager_gtk.cc
diff --git a/chrome/browser/background/background_mode_manager_gtk.cc b/chrome/browser/background/background_mode_manager_gtk.cc
index e9d193e5d7fb6abb38de70ddb3ecc435a1a8cb28..27923fc35c95f55e9f7b83e8d22c741d3d07cb82 100644
--- a/chrome/browser/background/background_mode_manager_gtk.cc
+++ b/chrome/browser/background/background_mode_manager_gtk.cc
@@ -4,6 +4,7 @@
#include <unistd.h>
+#include "base/bind.h"
#include "base/command_line.h"
#include "base/environment.h"
#include "base/file_path.h"
@@ -25,40 +26,8 @@ using content::BrowserThread;
namespace {
-class DisableLaunchOnStartupTask : public Task {
- public:
- virtual void Run();
-};
-
-class EnableLaunchOnStartupTask : public Task {
- public:
- virtual void Run();
-};
-
-} // 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 {
- BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
- new DisableLaunchOnStartupTask());
- }
-}
-
-void DisableLaunchOnStartupTask::Run() {
- scoped_ptr<base::Environment> environment(base::Environment::Create());
- if (!AutoStart::Remove(ShellIntegration::GetDesktopName(environment.get()))) {
- NOTREACHED() << "Failed to deregister launch on login.";
- }
-}
-
// TODO(rickcam): Bug 56280: Share implementation with ShellIntegration
-void EnableLaunchOnStartupTask::Run() {
+void EnableLaunchOnStartupCallback() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
scoped_ptr<base::Environment> environment(base::Environment::Create());
scoped_ptr<chrome::VersionInfo> version_info(new chrome::VersionInfo());
@@ -80,6 +49,28 @@ void EnableLaunchOnStartupTask::Run() {
}
}
+void DisableLaunchOnStartupCallback() {
+ scoped_ptr<base::Environment> environment(base::Environment::Create());
+ if (!AutoStart::Remove(ShellIntegration::GetDesktopName(environment.get()))) {
+ NOTREACHED() << "Failed to deregister launch on login.";
+ }
+}
+
+} // 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,
+ base::Bind(EnableLaunchOnStartupCallback));
+ } else {
+ BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
+ base::Bind(DisableLaunchOnStartupCallback));
+ }
+}
+
void BackgroundModeManager::DisplayAppInstalledNotification(
const Extension* extension) {
// TODO(atwilson): Display a platform-appropriate notification here.
« no previous file with comments | « no previous file | chrome/browser/background/background_mode_manager_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698