• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "ui/accessibility/ax_node.h"
6 
7 namespace ui {
8 
AXNode(AXNode * parent,int32 id,int32 index_in_parent)9 AXNode::AXNode(AXNode* parent, int32 id, int32 index_in_parent)
10     : index_in_parent_(index_in_parent),
11       parent_(parent) {
12   data_.id = id;
13 }
14 
~AXNode()15 AXNode::~AXNode() {
16 }
17 
SetData(const AXNodeData & src)18 void AXNode::SetData(const AXNodeData& src) {
19   data_ = src;
20 }
21 
SetLocation(const gfx::Rect & new_location)22 void AXNode::SetLocation(const gfx::Rect& new_location) {
23   data_.location = new_location;
24 }
25 
SetIndexInParent(int index_in_parent)26 void AXNode::SetIndexInParent(int index_in_parent) {
27   index_in_parent_ = index_in_parent;
28 }
29 
SwapChildren(std::vector<AXNode * > & children)30 void AXNode::SwapChildren(std::vector<AXNode*>& children) {
31   children.swap(children_);
32 }
33 
Destroy()34 void AXNode::Destroy() {
35   delete this;
36 }
37 
IsDescendantOf(AXNode * ancestor)38 bool AXNode::IsDescendantOf(AXNode* ancestor) {
39   if (this == ancestor)
40     return true;
41   else if (parent())
42     return parent()->IsDescendantOf(ancestor);
43 
44   return false;
45 }
46 
47 }  // namespace ui
48