blob: 178cb8793e3729bde5b9284ab4c1ee95e8f93edf [file] [log] [blame]
// Copyright (c) 2018 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.
#ifndef CHROMECAST_BROWSER_EXTENSIONS_API_ACCESSIBILITY_PRIVATE_ACCESSIBILITY_EXTENSION_API_H_
#define CHROMECAST_BROWSER_EXTENSIONS_API_ACCESSIBILITY_PRIVATE_ACCESSIBILITY_EXTENSION_API_H_
#include <string>
#include "extensions/browser/extension_function.h"
namespace extensions {
namespace cast {
namespace api {
// API function that enables or disables web content accessibility support.
class AccessibilityPrivateSetNativeAccessibilityEnabledFunction
: public ExtensionFunction {
~AccessibilityPrivateSetNativeAccessibilityEnabledFunction() override {}
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION(
"accessibilityPrivate.setNativeAccessibilityEnabled",
ACCESSIBILITY_PRIVATE_SETNATIVEACCESSIBILITYENABLED)
};
// API function that sets the location of the accessibility focus ring.
class AccessibilityPrivateSetFocusRingsFunction : public ExtensionFunction {
~AccessibilityPrivateSetFocusRingsFunction() override {}
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION("accessibilityPrivate.setFocusRings",
ACCESSIBILITY_PRIVATE_SETFOCUSRING)
};
// API function that sets the location of the accessibility highlights.
class AccessibilityPrivateSetHighlightsFunction : public ExtensionFunction {
~AccessibilityPrivateSetHighlightsFunction() override {}
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION("accessibilityPrivate.setHighlights",
ACCESSIBILITY_PRIVATE_SETHIGHLIGHTS)
};
// API function that sets keyboard capture mode.
class AccessibilityPrivateSetKeyboardListenerFunction
: public ExtensionFunction {
~AccessibilityPrivateSetKeyboardListenerFunction() override {}
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION("accessibilityPrivate.setKeyboardListener",
ACCESSIBILITY_PRIVATE_SETKEYBOARDLISTENER)
};
// API function that darkens or undarkens the screen.
class AccessibilityPrivateDarkenScreenFunction : public ExtensionFunction {
~AccessibilityPrivateDarkenScreenFunction() override {}
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION("accessibilityPrivate.darkenScreen",
ACCESSIBILITY_PRIVATE_DARKENSCREEN)
};
// API function that sets native ChromeVox ARC support.
class AccessibilityPrivateSetNativeChromeVoxArcSupportForCurrentAppFunction
: public ExtensionFunction {
~AccessibilityPrivateSetNativeChromeVoxArcSupportForCurrentAppFunction()
override {}
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION(
"accessibilityPrivate.setNativeChromeVoxArcSupportForCurrentApp",
ACCESSIBILITY_PRIVATE_SETNATIVECHROMEVOXARCSUPPORTFORCURRENTAPP)
};
// API function that injects key events.
class AccessibilityPrivateSendSyntheticKeyEventFunction
: public ExtensionFunction {
~AccessibilityPrivateSendSyntheticKeyEventFunction() override {}
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION("accessibilityPrivate.sendSyntheticKeyEvent",
ACCESSIBILITY_PRIVATE_SENDSYNTHETICKEYEVENT)
};
} // namespace api
} // namespace cast
} // namespace extensions
#endif // CHROMECAST_BROWSER_EXTENSIONS_API_ACCESSIBILITY_PRIVATE_ACCESSIBILITY_EXTENSION_API_H_