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.
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_AUTOMATION_INTERNAL_AUTOMATION_INTERNAL_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_AUTOMATION_INTERNAL_AUTOMATION_INTERNAL_API_H_
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"
13 struct AXEventNotificationDetails;
14 } // namespace content
20 namespace extensions {
22 // Implementation of the chrome.automation API.
23 class AutomationInternalEnableCurrentTabFunction
24 : public ChromeAsyncExtensionFunction {
25 DECLARE_EXTENSION_FUNCTION("automationInternal.enableCurrentTab",
26 AUTOMATIONINTERNAL_ENABLECURRENTTAB)
28 virtual ~AutomationInternalEnableCurrentTabFunction() {}
30 virtual bool RunAsync() OVERRIDE;
33 class AutomationInternalPerformActionFunction
34 : public ChromeAsyncExtensionFunction {
35 DECLARE_EXTENSION_FUNCTION("automationInternal.performAction",
36 AUTOMATIONINTERNAL_PERFORMACTION)
38 virtual ~AutomationInternalPerformActionFunction() {}
40 virtual bool RunAsync() OVERRIDE;
43 class AutomationInternalEnableDesktopFunction
44 : public ChromeAsyncExtensionFunction {
45 DECLARE_EXTENSION_FUNCTION("automationInternal.enableDesktop",
46 AUTOMATIONINTERNAL_ENABLEDESKTOP)
48 virtual ~AutomationInternalEnableDesktopFunction() {}
50 virtual bool RunAsync() OVERRIDE;
53 } // namespace extensions
55 #endif // CHROME_BROWSER_EXTENSIONS_API_AUTOMATION_INTERNAL_AUTOMATION_INTERNAL_API_H_