automation_internal_api.h revision 010d83a9304c5a91596085d917d248abff47903a
1// Copyright 2014 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 CHROME_BROWSER_EXTENSIONS_API_AUTOMATION_INTERNAL_AUTOMATION_INTERNAL_API_H_
6#define CHROME_BROWSER_EXTENSIONS_API_AUTOMATION_INTERNAL_AUTOMATION_INTERNAL_API_H_
7
8#include "chrome/browser/extensions/chrome_extension_function.h"
9#include "content/public/browser/web_contents_observer.h"
10#include "content/public/browser/web_contents_user_data.h"
11
12namespace content {
13struct AXEventNotificationDetails;
14}  // namespace content
15
16namespace ui {
17struct AXNodeData;
18}
19
20namespace extensions {
21
22// Implementation of the chrome.automation API.
23class AutomationInternalEnableCurrentTabFunction
24    : public ChromeAsyncExtensionFunction {
25  DECLARE_EXTENSION_FUNCTION("automationInternal.enableCurrentTab",
26                             AUTOMATIONINTERNAL_ENABLECURRENTTAB)
27 protected:
28  virtual ~AutomationInternalEnableCurrentTabFunction() {}
29
30  virtual bool RunAsync() OVERRIDE;
31};
32
33class AutomationInternalPerformActionFunction
34    : public ChromeAsyncExtensionFunction {
35  DECLARE_EXTENSION_FUNCTION("automationInternal.performAction",
36                             AUTOMATIONINTERNAL_PERFORMACTION)
37 protected:
38  virtual ~AutomationInternalPerformActionFunction() {}
39
40  virtual bool RunAsync() OVERRIDE;
41};
42
43class AutomationInternalEnableDesktopFunction
44    : public ChromeAsyncExtensionFunction {
45  DECLARE_EXTENSION_FUNCTION("automationInternal.enableDesktop",
46                             AUTOMATIONINTERNAL_ENABLEDESKTOP)
47 protected:
48  virtual ~AutomationInternalEnableDesktopFunction() {}
49
50  virtual bool RunAsync() OVERRIDE;
51};
52
53}  // namespace extensions
54
55#endif  // CHROME_BROWSER_EXTENSIONS_API_AUTOMATION_INTERNAL_AUTOMATION_INTERNAL_API_H_
56