summaryrefslogtreecommitdiffstats
path: root/chromium/ui/accessibility/ax_tree_source.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/accessibility/ax_tree_source.h')
-rw-r--r--chromium/ui/accessibility/ax_tree_source.h44
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() {}