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)9AXNode::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()15AXNode::~AXNode() { 16 } 17 SetData(const AXNodeData & src)18void AXNode::SetData(const AXNodeData& src) { 19 data_ = src; 20 } 21 SetLocation(const gfx::Rect & new_location)22void AXNode::SetLocation(const gfx::Rect& new_location) { 23 data_.location = new_location; 24 } 25 SetIndexInParent(int index_in_parent)26void AXNode::SetIndexInParent(int index_in_parent) { 27 index_in_parent_ = index_in_parent; 28 } 29 SwapChildren(std::vector<AXNode * > & children)30void AXNode::SwapChildren(std::vector<AXNode*>& children) { 31 children.swap(children_); 32 } 33 Destroy()34void AXNode::Destroy() { 35 delete this; 36 } 37 IsDescendantOf(AXNode * ancestor)38bool 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