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

Unified Diff: chrome/browser/ui/browser_init.cc

Issue 8513020: base::Bind migrations in chrome/browser (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: review 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
Index: chrome/browser/ui/browser_init.cc
===================================================================
--- chrome/browser/ui/browser_init.cc (revision 110185)
+++ chrome/browser/ui/browser_init.cc (working copy)
@@ -6,11 +6,14 @@
#include <algorithm> // For max().
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/compiler_specific.h"
#include "base/environment.h"
#include "base/event_recorder.h"
#include "base/file_path.h"
#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
#include "base/metrics/histogram.h"
#include "base/path_service.h"
#include "base/string_number_conversions.h"
@@ -172,7 +175,7 @@
bool should_expire_;
// Used to delay the expiration of the info-bar.
- ScopedRunnableMethodFactory<DefaultBrowserInfoBarDelegate> method_factory_;
+ base::WeakPtrFactory<DefaultBrowserInfoBarDelegate> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(DefaultBrowserInfoBarDelegate);
};
@@ -184,12 +187,13 @@
prefs_(prefs),
action_taken_(false),
should_expire_(false),
- ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) {
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
// We want the info-bar to stick-around for few seconds and then be hidden
// on the next navigation after that.
- MessageLoop::current()->PostDelayedTask(FROM_HERE,
- method_factory_.NewRunnableMethod(
- &DefaultBrowserInfoBarDelegate::AllowExpiry), 8000); // 8 seconds.
+ MessageLoop::current()->PostDelayedTask(
+ FROM_HERE, base::Bind(&DefaultBrowserInfoBarDelegate::AllowExpiry,
+ weak_factory_.GetWeakPtr()),
+ 8000); // 8 seconds.
}
DefaultBrowserInfoBarDelegate::~DefaultBrowserInfoBarDelegate() {
@@ -1332,8 +1336,9 @@
if (g_browser_process->local_state()->GetBoolean(
prefs::kDefaultBrowserSettingEnabled)) {
BrowserThread::PostTask(
- BrowserThread::FILE, FROM_HERE, NewRunnableFunction(
- &ShellIntegration::SetAsDefaultBrowser));
+ BrowserThread::FILE, FROM_HERE,
+ base::IgnoreReturn<bool>(
+ base::Bind(&ShellIntegration::SetAsDefaultBrowser)));
} else {
// TODO(pastarmovj): We can't really do anything meaningful here yet but
// just prevent showing the infobar.

Powered by Google App Engine
This is Rietveld 408576698