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

Unified Diff: chrome/browser/automation/testing_automation_provider_views.cc

Issue 8212006: base::Bind: Cleanup in automation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Mac build fixes. Created 9 years, 2 months 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/automation/testing_automation_provider_views.cc
diff --git a/chrome/browser/automation/testing_automation_provider_views.cc b/chrome/browser/automation/testing_automation_provider_views.cc
index 40af25bee2f3f2660007ffa46dfdede39d177bef..9a02bb00c4a68bfe349cb456155c57a786fc535e 100644
--- a/chrome/browser/automation/testing_automation_provider_views.cc
+++ b/chrome/browser/automation/testing_automation_provider_views.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/automation/testing_automation_provider.h"
+#include "base/bind.h"
+#include "base/memory/weak_ptr.h"
#include "base/compiler_specific.h"
#include "chrome/browser/automation/automation_browser_tracker.h"
#include "chrome/browser/automation/automation_window_tracker.h"
@@ -30,7 +32,7 @@ class ViewFocusChangeWaiter : public views::FocusChangeListener {
previous_view_id_(previous_view_id),
automation_(automation),
reply_message_(reply_message),
- ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) {
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
focus_manager_->AddFocusChangeListener(this);
// Call the focus change notification once in case the focus has
// already changed.
@@ -48,10 +50,8 @@ class ViewFocusChangeWaiter : public views::FocusChangeListener {
// that will get run after focus changes.
MessageLoop::current()->PostTask(
FROM_HERE,
- method_factory_.NewRunnableMethod(
- &ViewFocusChangeWaiter::FocusChanged,
- focused_before,
- focused_now));
+ base::Bind(&ViewFocusChangeWaiter::FocusChanged,
+ weak_factory_.GetWeakPtr(), focused_before, focused_now));
}
private:
@@ -70,7 +70,7 @@ class ViewFocusChangeWaiter : public views::FocusChangeListener {
int previous_view_id_;
AutomationProvider* automation_;
IPC::Message* reply_message_;
- ScopedRunnableMethodFactory<ViewFocusChangeWaiter> method_factory_;
+ base::WeakPtrFactory<ViewFocusChangeWaiter> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(ViewFocusChangeWaiter);
};

Powered by Google App Engine
This is Rietveld 408576698