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