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 1cc84f927adfd69f38ac00b08f674971545c3018..345374b456b6ac2c08db984eca23c0cf4ca0f2d1 100644 |
| --- a/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h |
| +++ b/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h |
| @@ -7,6 +7,8 @@ |
| #include <memory> |
| +#include "chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h" |
| +#include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h" |
| #include "components/arc/arc_service.h" |
| #include "components/arc/common/accessibility_helper.mojom.h" |
| #include "components/arc/instance_holder.h" |
| @@ -33,7 +35,8 @@ class ArcAccessibilityHelperBridge |
| public mojom::AccessibilityHelperHost, |
| public InstanceHolder<mojom::AccessibilityHelperInstance>::Observer, |
| public exo::WMHelper::ActivationObserver, |
| - public ui::AXHostDelegate { |
| + public AXTreeSourceArc::Delegate, |
| + public ArcAppListPrefs::Observer { |
| public: |
| explicit ArcAccessibilityHelperBridge(ArcBridgeService* bridge_service); |
| ~ArcAccessibilityHelperBridge() override; |
| @@ -48,18 +51,27 @@ class ArcAccessibilityHelperBridge |
| void OnAccessibilityEvent( |
| mojom::AccessibilityEventDataPtr event_data) override; |
| + // AXTreeSourceArc::Delegate overrides. |
| + void OnAction(const ui::AXActionData& data) override; |
| + |
| private: |
| // exo::WMHelper::ActivationObserver overrides. |
| void OnWindowActivated(aura::Window* gained_active, |
| aura::Window* lost_active) override; |
| - // AXHostDelegate overrides. |
| - void PerformAction(const ui::AXActionData& data) override; |
| + // ArcAppListPrefs::Observer overrides. |
| + void OnTaskCreated(int task_id, |
| + const std::string& package_name, |
| + const std::string& activity, |
| + const std::string& intent) override; |
| + void OnTaskDestroyed(int task_id) override; |
| + void OnTaskSetActive(int32_t task_id) override; |
| mojo::Binding<mojom::AccessibilityHelperHost> binding_; |
| - std::unique_ptr<AXTreeSourceArc> tree_source_; |
| - std::unique_ptr<views::View> focus_stealer_; |
| + std::map<int32_t, AXTreeSourceArc*> task_id_to_tree_; |
|
Luis Héctor Chávez
2017/04/25 15:27:00
consider using std::map<int32_t, std::unique_ptr<A
David Tseng
2017/04/25 22:48:02
If we trust that ArcAppListPrefs::Observer works a
Luis Héctor Chávez
2017/04/25 23:08:16
Right, the goal is to remove a bit of such trust a
David Tseng
2017/04/26 15:29:52
Ok, if this is the general trend of the codebase,
|
| + std::map<std::string, int32_t> package_name_to_task_id_; |
| + int32_t current_task_id_; |
| DISALLOW_COPY_AND_ASSIGN(ArcAccessibilityHelperBridge); |
| }; |