Chromium Code Reviews| Index: chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h |
| diff --git a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h |
| index da0ebbc61ef972c0ce24f6ccc046bdb8c0f85e68..858014b17125f458cd0944fb885b55e18217efaf 100644 |
| --- a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h |
| +++ b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h |
| @@ -10,6 +10,7 @@ |
| #include <vector> |
| #include "components/arc/common/accessibility_helper.mojom.h" |
| +#include "ui/accessibility/ax_host_delegate.h" |
| #include "ui/accessibility/ax_node.h" |
| #include "ui/accessibility/ax_node_data.h" |
| #include "ui/accessibility/ax_tree_data.h" |
| @@ -17,6 +18,18 @@ |
| #include "ui/accessibility/ax_tree_source.h" |
| #include "ui/views/view.h" |
| +namespace { |
| +class FocusStealer; |
| +} |
| + |
| +namespace aura { |
| +class Window; |
| +} |
| + |
| +namespace views { |
| +class View; |
| +} |
| + |
| namespace arc { |
| using AXTreeArcSerializer = |
| @@ -28,15 +41,21 @@ using AXTreeArcSerializer = |
| class AXTreeSourceArc |
| : public ui::AXTreeSource<mojom::AccessibilityNodeInfoData*, |
| ui::AXNodeData, |
| - ui::AXTreeData> { |
| + ui::AXTreeData>, |
| + public ui::AXHostDelegate { |
| public: |
| - explicit AXTreeSourceArc(int32_t tree_id); |
| + class Delegate { |
| + public: |
| + virtual void OnAction(const ui::AXActionData& data) = 0; |
| + }; |
| + |
| + explicit AXTreeSourceArc(Delegate* delegate); |
| ~AXTreeSourceArc() override; |
| // Notify automation of an accessibility event. |
| void NotifyAccessibilityEvent(mojom::AccessibilityEventData* event_data); |
| - int32_t tree_id() const { return tree_id_; } |
| + void Focus(aura::Window* window); |
| private: |
| // AXTreeSource overrides. |
| @@ -56,18 +75,20 @@ class AXTreeSourceArc |
| void SerializeNode(mojom::AccessibilityNodeInfoData* node, |
| ui::AXNodeData* out_data) const override; |
| + // AXHostDelegate overrides. |
| + void PerformAction(const ui::AXActionData& data) override; |
| + |
| // Resets tree state. |
| void Reset(); |
| - // The id of this tree. |
| - int32_t tree_id_; |
| - |
| // Maps an AccessibilityNodeInfo to its tree data. |
| std::map<int32_t, mojom::AccessibilityNodeInfoData*> tree_map_; |
| std::map<int32_t, int32_t> parent_map_; |
| std::unique_ptr<AXTreeArcSerializer> current_tree_serializer_; |
| int32_t root_id_; |
| int32_t focused_node_id_; |
| + Delegate* delegate_; |
|
Luis Héctor Chávez
2017/04/25 15:27:00
nit: Delegate* const delegate_;
Also mention what
David Tseng
2017/04/25 22:48:02
Done.
|
| + std::unique_ptr<FocusStealer> focus_stealer_; |
|
Luis Héctor Chávez
2017/04/25 15:27:00
nit: As hidehiko@ mentioned previously, please mak
David Tseng
2017/04/25 22:48:03
Forward declared as a private nested class.
|
| DISALLOW_COPY_AND_ASSIGN(AXTreeSourceArc); |
| }; |