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

Unified Diff: chrome/browser/automation/ui_controls_mac.mm

Issue 8212006: base::Bind: Cleanup in automation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Linux test 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/ui_controls_mac.mm
diff --git a/chrome/browser/automation/ui_controls_mac.mm b/chrome/browser/automation/ui_controls_mac.mm
index 6e38ef7ac8d081a870e08e62b9c36d32c931471a..99c4363702a76c11841e0f9f4330b1154ed0c6c7 100644
--- a/chrome/browser/automation/ui_controls_mac.mm
+++ b/chrome/browser/automation/ui_controls_mac.mm
@@ -8,6 +8,7 @@
#include <mach/mach_time.h>
#include <vector>
+#include "base/callback.h"
#include "base/message_loop.h"
#include "chrome/browser/automation/ui_controls_internal.h"
#include "content/browser/browser_thread.h"
@@ -189,10 +190,9 @@ void SynthesizeKeyEventsSequence(NSWindow* window,
// A task class to watch for the event queue. The specific task will be fired
// when there is no more event in the queue.
-class EventQueueWatcher : public Task {
+class EventQueueWatcher : public base::Closure {
awong 2011/10/11 01:18:04 Eek. bad.
James Hawkins 2011/10/11 21:11:22 Yeah, forgot to fix this. Done.
public:
- EventQueueWatcher(Task* task) : task_(task) {}
-
+ EventQueueWatcher(const base::Closure& task) : task_(task) {}
virtual ~EventQueueWatcher() {}
virtual void Run() {
@@ -202,13 +202,13 @@ class EventQueueWatcher : public Task {
dequeue:NO];
// If there is still event in the queue, then we need to check again.
if (event)
- MessageLoop::current()->PostTask(FROM_HERE, new EventQueueWatcher(task_));
+ MessageLoop::current()->PostTask(FROM_HERE, EventQueueWatcher(task_));
else
MessageLoop::current()->PostTask(FROM_HERE, task_);
}
private:
- Task* task_;
+ base::Closure task_;
};
// Stores the current mouse location on the screen. So that we can use it
@@ -217,7 +217,6 @@ NSPoint g_mouse_location = { 0, 0 };
} // anonymous namespace
-
namespace ui_controls {
bool SendKeyPress(gfx::NativeWindow window,
@@ -228,7 +227,7 @@ bool SendKeyPress(gfx::NativeWindow window,
bool command) {
return SendKeyPressNotifyWhenDone(window, key,
control, shift, alt, command,
- NULL);
+ MessageLoop::QuitClosure());
}
// Win and Linux implement a SendKeyPress() this as a
@@ -239,7 +238,7 @@ bool SendKeyPressNotifyWhenDone(gfx::NativeWindow window,
bool shift,
bool alt,
bool command,
- Task* task) {
+ const base::Closure& task) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
std::vector<NSEvent*> events;
@@ -361,7 +360,7 @@ void MoveMouseToCenterAndPress(
NSView* view,
MouseButton button,
int state,
- Task* task) {
+ const base::Closure& task) {
DCHECK(view);
NSWindow* window = [view window];
DCHECK(window);
@@ -377,7 +376,7 @@ void MoveMouseToCenterAndPress(
center = NSMakePoint(center.x, [screen frame].size.height - center.y);
SendMouseMoveNotifyWhenDone(center.x, center.y,
- new ClickTask(button, state, task));
+ ClickTask(button, state, task));
}
} // ui_controls

Powered by Google App Engine
This is Rietveld 408576698