• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "ui/base/test/ui_controls_aura.h"
6 
7 #include "base/logging.h"
8 
9 namespace ui_controls {
10 namespace {
11 UIControlsAura* instance_ = NULL;
12 bool g_ui_controls_enabled = false;
13 }  // namespace
14 
EnableUIControls()15 void EnableUIControls() {
16   g_ui_controls_enabled = true;
17 }
18 
19 // An interface to provide Aura implementation of UI control.
SendKeyPress(gfx::NativeWindow window,ui::KeyboardCode key,bool control,bool shift,bool alt,bool command)20 bool SendKeyPress(gfx::NativeWindow window,
21                   ui::KeyboardCode key,
22                   bool control,
23                   bool shift,
24                   bool alt,
25                   bool command) {
26   CHECK(g_ui_controls_enabled);
27   return instance_->SendKeyPress(
28       window, key, control, shift, alt, command);
29 }
30 
31 // static
SendKeyPressNotifyWhenDone(gfx::NativeWindow window,ui::KeyboardCode key,bool control,bool shift,bool alt,bool command,const base::Closure & task)32 bool SendKeyPressNotifyWhenDone(gfx::NativeWindow window,
33                                 ui::KeyboardCode key,
34                                 bool control,
35                                 bool shift,
36                                 bool alt,
37                                 bool command,
38                                 const base::Closure& task) {
39   CHECK(g_ui_controls_enabled);
40   return instance_->SendKeyPressNotifyWhenDone(
41       window, key, control, shift, alt, command, task);
42 }
43 
44 // static
SendMouseMove(long x,long y)45 bool SendMouseMove(long x, long y) {
46   CHECK(g_ui_controls_enabled);
47   return instance_->SendMouseMove(x, y);
48 }
49 
50 // static
SendMouseMoveNotifyWhenDone(long x,long y,const base::Closure & task)51 bool SendMouseMoveNotifyWhenDone(long x,
52                                  long y,
53                                  const base::Closure& task) {
54   CHECK(g_ui_controls_enabled);
55   return instance_->SendMouseMoveNotifyWhenDone(x, y, task);
56 }
57 
58 // static
SendMouseEvents(MouseButton type,int state)59 bool SendMouseEvents(MouseButton type, int state) {
60   CHECK(g_ui_controls_enabled);
61   return instance_->SendMouseEvents(type, state);
62 }
63 
64 // static
SendMouseEventsNotifyWhenDone(MouseButton type,int state,const base::Closure & task)65 bool SendMouseEventsNotifyWhenDone(MouseButton type,
66                                    int state,
67                                    const base::Closure& task) {
68   CHECK(g_ui_controls_enabled);
69   return instance_->SendMouseEventsNotifyWhenDone(type, state, task);
70 }
71 
72 // static
SendMouseClick(MouseButton type)73 bool SendMouseClick(MouseButton type) {
74   CHECK(g_ui_controls_enabled);
75   return instance_->SendMouseClick(type);
76 }
77 
78 // static
RunClosureAfterAllPendingUIEvents(const base::Closure & closure)79 void RunClosureAfterAllPendingUIEvents(const base::Closure& closure) {
80   instance_->RunClosureAfterAllPendingUIEvents(closure);
81 }
82 
UIControlsAura()83 UIControlsAura::UIControlsAura() {
84 }
85 
~UIControlsAura()86 UIControlsAura::~UIControlsAura() {
87 }
88 
89 // static. declared in ui_controls.h
InstallUIControlsAura(UIControlsAura * instance)90 void InstallUIControlsAura(UIControlsAura* instance) {
91   delete instance_;
92   instance_ = instance;
93 }
94 
95 }  // namespace ui_controls
96