Chromium Code Reviews| Index: chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h |
| diff --git a/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h b/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h |
| index ad4abbd6de288d9799682095e7acc1f9f4291808..aeaa6409cd55ef2393887ee7b40fe4a82df0af54 100644 |
| --- a/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h |
| +++ b/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h |
| @@ -5,14 +5,24 @@ |
| #ifndef CHROME_BROWSER_CHROMEOS_ARC_ACCESSIBILITY_ARC_ACCESSIBILITY_HELPER_BRIDGE_H_ |
| #define CHROME_BROWSER_CHROMEOS_ARC_ACCESSIBILITY_ARC_ACCESSIBILITY_HELPER_BRIDGE_H_ |
| +#include <memory> |
| + |
| #include "components/arc/arc_service.h" |
| #include "components/arc/common/accessibility_helper.mojom.h" |
| #include "components/arc/instance_holder.h" |
| +#include "components/exo/wm_helper.h" |
|
oshima
2017/02/16 04:16:45
Hmm, I think you're not supposed to use this outsi
David Tseng
2017/02/16 18:36:40
It's also being used to get the focused window.
Peng
2017/02/16 18:51:04
I added WMHelper to avoid using ash code in exo di
David Tseng
2017/02/16 19:14:37
For getting the focused window, we need ash (Shell
|
| #include "mojo/public/cpp/bindings/binding.h" |
| +namespace views { |
| + |
| +class View; |
| + |
| +} // namespace views |
| + |
| namespace arc { |
| class ArcBridgeService; |
| +class AXTreeSourceArc; |
| // ArcAccessibilityHelperBridge is an instance to receive converted Android |
| // accessibility events and info via mojo interface and dispatch them to chrome |
| @@ -20,7 +30,8 @@ class ArcBridgeService; |
| class ArcAccessibilityHelperBridge |
| : public ArcService, |
| public mojom::AccessibilityHelperHost, |
| - public InstanceHolder<mojom::AccessibilityHelperInstance>::Observer { |
| + public InstanceHolder<mojom::AccessibilityHelperInstance>::Observer, |
| + public exo::WMHelper::ActivationObserver { |
| public: |
| explicit ArcAccessibilityHelperBridge(ArcBridgeService* bridge_service); |
| ~ArcAccessibilityHelperBridge() override; |
| @@ -29,13 +40,22 @@ class ArcAccessibilityHelperBridge |
| void OnInstanceReady() override; |
| // mojom::AccessibilityHelperHost overrides. |
| - void OnAccessibilityEvent( |
| + void OnAccessibilityEventDeprecated( |
| mojom::AccessibilityEventType event_type, |
| mojom::AccessibilityNodeInfoDataPtr event_source) override; |
| + void OnAccessibilityEvent( |
| + mojom::AccessibilityEventDataPtr event_data) override; |
| private: |
| + // exo::WMHelper::ActivationObserver overrides. |
| + void OnWindowActivated(aura::Window* gained_active, |
| + aura::Window* lost_active) override; |
| + |
| mojo::Binding<mojom::AccessibilityHelperHost> binding_; |
| + std::unique_ptr<AXTreeSourceArc> tree_source_; |
| + std::unique_ptr<views::View> focus_stealer_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(ArcAccessibilityHelperBridge); |
| }; |