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#ifndef UI_BASE_TEST_UI_CONTROLS_INTERNAL_WIN_H_
6#define UI_BASE_TEST_UI_CONTROLS_INTERNAL_WIN_H_
7
8#include "base/callback_forward.h"
9#include "ui/base/test/ui_controls.h"
10
11namespace ui_controls {
12namespace internal {
13
14// A utility functions for windows to send key or mouse events and
15// run the task. These functions are internal, but exported so that
16// aura implementation can use these utility functions.
17bool SendKeyPressImpl(HWND hwnd,
18                      ui::KeyboardCode key,
19                      bool control,
20                      bool shift,
21                      bool alt,
22                      const base::Closure& task);
23bool SendMouseMoveImpl(long screen_x, long screen_y, const base::Closure& task);
24bool SendMouseEventsImpl(MouseButton type,
25                         int state,
26                         const base::Closure& task);
27void RunClosureAfterAllPendingUITasksImpl(const base::Closure& task);
28
29}  // namespace internal
30}  // namespace ui_controls
31
32#endif  // UI_BASE_TEST_UI_CONTROLS_INTERNAL_WIN_H_
33