| Index: chrome/browser/automation/ui_controls_aurawin.cc
|
| diff --git a/chrome/browser/automation/ui_controls_aurawin.cc b/chrome/browser/automation/ui_controls_aurawin.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d23b3e76f586a6bf82c42b09e2f29b25b66b1602
|
| --- /dev/null
|
| +++ b/chrome/browser/automation/ui_controls_aurawin.cc
|
| @@ -0,0 +1,72 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/automation/ui_controls.h"
|
| +
|
| +#include "base/logging.h"
|
| +#include "chrome/browser/automation/ui_controls_internal.h"
|
| +#include "ui/aura/desktop.h"
|
| +#include "views/view.h"
|
| +
|
| +namespace ui_controls {
|
| +
|
| +bool SendKeyPress(gfx::NativeWindow window,
|
| + ui::KeyboardCode key,
|
| + bool control,
|
| + bool shift,
|
| + bool alt,
|
| + bool command) {
|
| + DCHECK(!command); // No command key on Aura
|
| + return internal::SendKeyPressImpl(key, control, shift, alt, base::Closure());
|
| +}
|
| +
|
| +bool SendKeyPressNotifyWhenDone(gfx::NativeWindow window,
|
| + ui::KeyboardCode key,
|
| + bool control,
|
| + bool shift,
|
| + bool alt,
|
| + bool command,
|
| + const base::Closure& task) {
|
| + DCHECK(!command); // No command key on Aura
|
| + return internal::SendKeyPressImpl(key, control, shift, alt, task);
|
| +}
|
| +
|
| +bool SendMouseMove(long x, long y) {
|
| + gfx::Point point(x, y);
|
| + aura::Desktop::GetInstance()->ConvertPointToNativeScreen(&point);
|
| + return internal::SendMouseMoveImpl(point.x(), point.y(), base::Closure());
|
| +}
|
| +
|
| +bool SendMouseMoveNotifyWhenDone(long x, long y, const base::Closure& task) {
|
| + gfx::Point point(x, y);
|
| + aura::Desktop::GetInstance()->ConvertPointToNativeScreen(&point);
|
| + return internal::SendMouseMoveImpl(point.x(), point.y(), task);
|
| +}
|
| +
|
| +bool SendMouseEvents(MouseButton type, int state) {
|
| + return internal::SendMouseEventsImpl(type, state, base::Closure());
|
| +}
|
| +
|
| +bool SendMouseEventsNotifyWhenDone(MouseButton type, int state,
|
| + const base::Closure& task) {
|
| + return internal::SendMouseEventsImpl(type, state, task);
|
| +}
|
| +
|
| +bool SendMouseClick(MouseButton type) {
|
| + return SendMouseEvents(type, UP | DOWN);
|
| +}
|
| +
|
| +void MoveMouseToCenterAndPress(views::View* view,
|
| + MouseButton button,
|
| + int state,
|
| + const base::Closure& task) {
|
| + DCHECK(view);
|
| + DCHECK(view->GetWidget());
|
| + gfx::Point view_center(view->width() / 2, view->height() / 2);
|
| + views::View::ConvertPointToScreen(view, &view_center);
|
| + SendMouseMove(view_center.x(), view_center.y());
|
| + SendMouseEventsNotifyWhenDone(button, state, task);
|
| +}
|
| +
|
| +} // namespace ui_controls
|
|
|