Index: chrome/browser/ui/input_window_dialog_win.cc |
=================================================================== |
--- chrome/browser/ui/input_window_dialog_win.cc (revision 110185) |
+++ chrome/browser/ui/input_window_dialog_win.cc (working copy) |
@@ -4,9 +4,10 @@ |
#include "chrome/browser/ui/input_window_dialog.h" |
+#include "base/bind.h" |
#include "base/compiler_specific.h" |
+#include "base/memory/weak_ptr.h" |
#include "base/message_loop.h" |
-#include "base/task.h" |
#include "base/utf_string_conversions.h" |
#include "chrome/browser/ui/webui/chrome_web_ui.h" |
#include "chrome/browser/ui/webui/input_window_dialog_webui.h" |
@@ -109,7 +110,7 @@ |
InputWindowDialogWin* delegate_; |
// Helps us set focus to the first Textfield in the window. |
- ScopedRunnableMethodFactory<ContentView> focus_grabber_factory_; |
+ base::WeakPtrFactory<ContentView> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(ContentView); |
}; |
@@ -118,7 +119,7 @@ |
// ContentView |
ContentView::ContentView(InputWindowDialogWin* delegate) |
: delegate_(delegate), |
- ALLOW_THIS_IN_INITIALIZER_LIST(focus_grabber_factory_(this)) { |
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { |
DCHECK(delegate_); |
} |
@@ -220,9 +221,9 @@ |
layout->AddView(label); |
layout->AddView(text_field_); |
- MessageLoop::current()->PostTask(FROM_HERE, |
- focus_grabber_factory_.NewRunnableMethod( |
- &ContentView::FocusFirstFocusableControl)); |
+ MessageLoop::current()->PostTask( |
+ FROM_HERE, base::Bind(&ContentView::FocusFirstFocusableControl, |
+ weak_factory_.GetWeakPtr())); |
} |
void ContentView::FocusFirstFocusableControl() { |