diff options
Diffstat (limited to 'chromium/ui/accessibility/ax_serializable_tree.cc')
-rw-r--r-- | chromium/ui/accessibility/ax_serializable_tree.cc | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/chromium/ui/accessibility/ax_serializable_tree.cc b/chromium/ui/accessibility/ax_serializable_tree.cc index ca52ab39a23..4e4da834d80 100644 --- a/chromium/ui/accessibility/ax_serializable_tree.cc +++ b/chromium/ui/accessibility/ax_serializable_tree.cc @@ -14,7 +14,7 @@ namespace ui { // AXTreeSource abstraction and doesn't need to actually know about // AXTree directly. Another AXTreeSource is used to abstract the Blink // accessibility tree. -class AX_EXPORT AXTreeSourceAdapter : public AXTreeSource<AXNode> { +class AX_EXPORT AXTreeSourceAdapter : public AXTreeSource<const AXNode*> { public: AXTreeSourceAdapter(AXTree* tree) : tree_(tree) {} virtual ~AXTreeSourceAdapter() {} @@ -32,19 +32,30 @@ class AX_EXPORT AXTreeSourceAdapter : public AXTreeSource<AXNode> { return node->id(); } - virtual int GetChildCount(const AXNode* node) const OVERRIDE { - return node->child_count(); - } - - virtual AXNode* GetChildAtIndex(const AXNode* node, int index) - const OVERRIDE { - return node->ChildAtIndex(index); + virtual void GetChildren( + const AXNode* node, + std::vector<const AXNode*>* out_children) const OVERRIDE { + for (int i = 0; i < node->child_count(); ++i) + out_children->push_back(node->ChildAtIndex(i)); } virtual AXNode* GetParent(const AXNode* node) const OVERRIDE { return node->parent(); } + virtual bool IsValid(const AXNode* node) const OVERRIDE { + return node != NULL; + } + + virtual bool IsEqual(const AXNode* node1, + const AXNode* node2) const OVERRIDE { + return node1 == node2; + } + + virtual const AXNode* GetNull() const OVERRIDE { + return NULL; + } + virtual void SerializeNode( const AXNode* node, AXNodeData* out_data) const OVERRIDE { *out_data = node->data(); @@ -64,7 +75,7 @@ AXSerializableTree::AXSerializableTree(const AXTreeUpdate& initial_state) AXSerializableTree::~AXSerializableTree() { } -AXTreeSource<AXNode>* AXSerializableTree::CreateTreeSource() { +AXTreeSource<const AXNode*>* AXSerializableTree::CreateTreeSource() { return new AXTreeSourceAdapter(this); } |