diff options
Diffstat (limited to 'chromium/ui/accessibility/ax_tree_source.h')
-rw-r--r-- | chromium/ui/accessibility/ax_tree_source.h | 44 |
1 files changed, 33 insertions, 11 deletions
diff --git a/chromium/ui/accessibility/ax_tree_source.h b/chromium/ui/accessibility/ax_tree_source.h index 35bdbb711c8..1f13d8f59f5 100644 --- a/chromium/ui/accessibility/ax_tree_source.h +++ b/chromium/ui/accessibility/ax_tree_source.h @@ -5,6 +5,8 @@ #ifndef UI_ACCESSIBILITY_AX_TREE_SOURCE_H_ #define UI_ACCESSIBILITY_AX_TREE_SOURCE_H_ +#include <vector> + #include "ui/accessibility/ax_node_data.h" namespace ui { @@ -17,21 +19,41 @@ namespace ui { // as an AXNodeData. This is the primary interface to use when // an accessibility tree will be sent over an IPC before being // consumed. -template<class AXNodeSource> -class AX_EXPORT AXTreeSource { +template<typename AXNodeSource> +class AXTreeSource { public: virtual ~AXTreeSource() {} - virtual AXNodeSource* GetRoot() const = 0; - virtual AXNodeSource* GetFromId(int32 id) const = 0; - virtual int32 GetId(const AXNodeSource* node) const = 0; - virtual int GetChildCount(const AXNodeSource* node) const = 0; - virtual AXNodeSource* GetChildAtIndex(const AXNodeSource* node, int index) - const = 0; - virtual AXNodeSource* GetParent(const AXNodeSource* node) const = 0; + + // Get the root of the tree. + virtual AXNodeSource GetRoot() const = 0; + + // Get a node by its id. If no node by that id exists in the tree, return a + // null node, i.e. one that will return false if you call IsValid on it. + virtual AXNodeSource GetFromId(int32 id) const = 0; + + // Return the id of a node. All ids must be positive integers. + virtual int32 GetId(AXNodeSource node) const = 0; + + // Append all children of |node| to |out_children|. + virtual void GetChildren(AXNodeSource node, + std::vector<AXNodeSource>* out_children) const = 0; + + // Get the parent of |node|. + virtual AXNodeSource GetParent(AXNodeSource node) const = 0; + + // Returns true if |node| is valid, and false if it's a null pointer or a + // node object representing the null pointer. + virtual bool IsValid(AXNodeSource node) const = 0; + + // Returns true if two nodes are equal. + virtual bool IsEqual(AXNodeSource node1, + AXNodeSource node2) const = 0; + + // Return a AXNodeSource representing null. + virtual AXNodeSource GetNull() const = 0; // Serialize one node in the tree. - virtual void SerializeNode( - const AXNodeSource* node, AXNodeData* out_data) const = 0; + virtual void SerializeNode(AXNodeSource node, AXNodeData* out_data) const = 0; protected: AXTreeSource() {} |