Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1258)

Unified Diff: ui/accessibility/ax_tree_source.h

Issue 125783002: Add AXTreeDelegate and refactor other AXTree classes slightly. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed const issue Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/accessibility/ax_tree_serializer_unittest.cc ('k') | ui/accessibility/ax_tree_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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() {}
« no previous file with comments | « ui/accessibility/ax_tree_serializer_unittest.cc ('k') | ui/accessibility/ax_tree_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698