| // Copyright 2019 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 CHROME_BROWSER_UI_ASH_ACCESSIBILITY_FAKE_ACCESSIBILITY_CONTROLLER_H_ |
| #define CHROME_BROWSER_UI_ASH_ACCESSIBILITY_FAKE_ACCESSIBILITY_CONTROLLER_H_ |
| |
| #include <vector> |
| |
| #include "ash/public/interfaces/accessibility_controller.mojom.h" |
| #include "base/macros.h" |
| #include "mojo/public/cpp/bindings/binding.h" |
| |
| // Fake implementation of ash's mojo AccessibilityController interface. |
| // |
| // This fake registers itself to ServiceManager on construction and deregisters |
| // on destruction. |
| // |
| // Note: A ServiceManagerConnection must be initialized before constructing this |
| // object. Consider using content::TestServiceManagerContext on your tests. |
| class FakeAccessibilityController : ash::mojom::AccessibilityController { |
| public: |
| FakeAccessibilityController(); |
| ~FakeAccessibilityController() override; |
| |
| bool was_client_set() const { return was_client_set_; } |
| |
| // ash::mojom::AccessibilityController: |
| void SetClient(ash::mojom::AccessibilityControllerClientPtr client) override; |
| void SetDarkenScreen(bool darken) override; |
| void BrailleDisplayStateChanged(bool connected) override; |
| void SetFocusHighlightRect(const gfx::Rect& bounds_in_screen) override; |
| void SetCaretBounds(const gfx::Rect& bounds_in_screen) override; |
| void SetAccessibilityPanelBounds( |
| const gfx::Rect& bounds, |
| ash::mojom::AccessibilityPanelState state) override; |
| void SetSelectToSpeakState(ash::mojom::SelectToSpeakState state) override; |
| void SetSelectToSpeakEventHandlerDelegate( |
| ash::mojom::SelectToSpeakEventHandlerDelegatePtr delegate) override; |
| void SetSwitchAccessEventHandlerDelegate( |
| ash::mojom::SwitchAccessEventHandlerDelegatePtr delegate) override; |
| void SetSwitchAccessKeysToCapture( |
| const std::vector<int>& keys_to_capture) override; |
| void ToggleDictationFromSource( |
| ash::mojom::DictationToggleSource source) override; |
| void ForwardKeyEventsToSwitchAccess(bool should_forward) override; |
| void GetBatteryDescription(GetBatteryDescriptionCallback callback) override; |
| void SetVirtualKeyboardVisible(bool is_visible) override; |
| |
| private: |
| void Bind(mojo::ScopedMessagePipeHandle handle); |
| |
| mojo::Binding<ash::mojom::AccessibilityController> binding_{this}; |
| bool was_client_set_ = false; |
| |
| DISALLOW_COPY_AND_ASSIGN(FakeAccessibilityController); |
| }; |
| |
| #endif // CHROME_BROWSER_UI_ASH_ACCESSIBILITY_FAKE_ACCESSIBILITY_CONTROLLER_H_ |