Index: ui/accessibility/ax_tree_source.h |
diff --git a/ui/accessibility/ax_tree_source.h b/ui/accessibility/ax_tree_source.h |
index 35bdbb711c811f7cb4385778280e9ba12a296032..0c99c838a5f1395909f6dfdff117d7dab87d49d8 100644 |
--- a/ui/accessibility/ax_tree_source.h |
+++ b/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> |
+template<typename AXNodeSource> |
class AX_EXPORT 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() {} |