| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_UI_AURA_ACCESSIBILITY_AX_TREE_SOURCE_AURA_H_ | 5 #ifndef CHROME_BROWSER_UI_AURA_ACCESSIBILITY_AX_TREE_SOURCE_AURA_H_ |
| 6 #define CHROME_BROWSER_UI_AURA_ACCESSIBILITY_AX_TREE_SOURCE_AURA_H_ | 6 #define CHROME_BROWSER_UI_AURA_ACCESSIBILITY_AX_TREE_SOURCE_AURA_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| 11 #include <memory> | 11 #include <memory> |
| 12 | 12 |
| 13 #include "base/macros.h" | 13 #include "base/macros.h" |
| 14 #include "chrome/browser/ui/aura/accessibility/ax_root_obj_wrapper.h" | 14 #include "chrome/browser/ui/aura/accessibility/ax_root_obj_wrapper.h" |
| 15 #include "ui/accessibility/ax_tree_data.h" | 15 #include "ui/accessibility/ax_tree_data.h" |
| 16 #include "ui/accessibility/ax_tree_source.h" | 16 #include "ui/accessibility/ax_tree_source.h" |
| 17 | 17 |
| 18 namespace ui { |
| 19 struct AXActionData; |
| 20 } // namespace ui |
| 21 |
| 18 namespace views { | 22 namespace views { |
| 19 class AXAuraObjWrapper; | 23 class AXAuraObjWrapper; |
| 20 } // namespace views | 24 } // namespace views |
| 21 | 25 |
| 22 // This class exposes the views hierarchy as an accessibility tree permitting | 26 // This class exposes the views hierarchy as an accessibility tree permitting |
| 23 // use with other accessibility classes. | 27 // use with other accessibility classes. |
| 24 class AXTreeSourceAura | 28 class AXTreeSourceAura |
| 25 : public ui::AXTreeSource<views::AXAuraObjWrapper*, | 29 : public ui::AXTreeSource<views::AXAuraObjWrapper*, |
| 26 ui::AXNodeData, | 30 ui::AXNodeData, |
| 27 ui::AXTreeData> { | 31 ui::AXTreeData> { |
| 28 public: | 32 public: |
| 29 AXTreeSourceAura(); | 33 AXTreeSourceAura(); |
| 30 ~AXTreeSourceAura() override; | 34 ~AXTreeSourceAura() override; |
| 31 | 35 |
| 32 // A set of actions invoked on an Aura view. | 36 // A set of actions invoked on an Aura view. |
| 33 void DoDefault(int32_t id); | 37 void DoDefault(int32_t id); |
| 34 void Focus(int32_t id); | 38 void Focus(int32_t id); |
| 35 void MakeVisible(int32_t id); | 39 void MakeVisible(int32_t id); |
| 36 void SetSelection(int32_t id, int32_t start, int32_t end); | 40 void SetSelection(int32_t id, int32_t start, int32_t end); |
| 37 void ShowContextMenu(int32_t id); | 41 void ShowContextMenu(int32_t id); |
| 42 bool HandleAccessibleAction(const ui::AXActionData& action); |
| 38 | 43 |
| 39 // AXTreeSource implementation. | 44 // AXTreeSource implementation. |
| 40 bool GetTreeData(ui::AXTreeData* data) const override; | 45 bool GetTreeData(ui::AXTreeData* data) const override; |
| 41 views::AXAuraObjWrapper* GetRoot() const override; | 46 views::AXAuraObjWrapper* GetRoot() const override; |
| 42 views::AXAuraObjWrapper* GetFromId(int32_t id) const override; | 47 views::AXAuraObjWrapper* GetFromId(int32_t id) const override; |
| 43 int32_t GetId(views::AXAuraObjWrapper* node) const override; | 48 int32_t GetId(views::AXAuraObjWrapper* node) const override; |
| 44 void GetChildren( | 49 void GetChildren( |
| 45 views::AXAuraObjWrapper* node, | 50 views::AXAuraObjWrapper* node, |
| 46 std::vector<views::AXAuraObjWrapper*>* out_children) const override; | 51 std::vector<views::AXAuraObjWrapper*>* out_children) const override; |
| 47 views::AXAuraObjWrapper* GetParent( | 52 views::AXAuraObjWrapper* GetParent( |
| 48 views::AXAuraObjWrapper* node) const override; | 53 views::AXAuraObjWrapper* node) const override; |
| 49 bool IsValid(views::AXAuraObjWrapper* node) const override; | 54 bool IsValid(views::AXAuraObjWrapper* node) const override; |
| 50 bool IsEqual(views::AXAuraObjWrapper* node1, | 55 bool IsEqual(views::AXAuraObjWrapper* node1, |
| 51 views::AXAuraObjWrapper* node2) const override; | 56 views::AXAuraObjWrapper* node2) const override; |
| 52 views::AXAuraObjWrapper* GetNull() const override; | 57 views::AXAuraObjWrapper* GetNull() const override; |
| 53 void SerializeNode(views::AXAuraObjWrapper* node, | 58 void SerializeNode(views::AXAuraObjWrapper* node, |
| 54 ui::AXNodeData* out_data) const override; | 59 ui::AXNodeData* out_data) const override; |
| 55 | 60 |
| 56 // Useful for debugging. | 61 // Useful for debugging. |
| 57 std::string ToString(views::AXAuraObjWrapper* root, std::string prefix); | 62 std::string ToString(views::AXAuraObjWrapper* root, std::string prefix); |
| 58 | 63 |
| 59 private: | 64 private: |
| 60 std::unique_ptr<AXRootObjWrapper> root_; | 65 std::unique_ptr<AXRootObjWrapper> root_; |
| 61 | 66 |
| 62 DISALLOW_COPY_AND_ASSIGN(AXTreeSourceAura); | 67 DISALLOW_COPY_AND_ASSIGN(AXTreeSourceAura); |
| 63 }; | 68 }; |
| 64 | 69 |
| 65 #endif // CHROME_BROWSER_UI_AURA_ACCESSIBILITY_AX_TREE_SOURCE_AURA_H_ | 70 #endif // CHROME_BROWSER_UI_AURA_ACCESSIBILITY_AX_TREE_SOURCE_AURA_H_ |
| OLD | NEW |