15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "ui/accessibility/platform/ax_platform_node_base.h" 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "ui/accessibility/ax_node_data.h" 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "ui/accessibility/platform/ax_platform_node_delegate.h" 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace ui { 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)AXPlatformNodeBase::AXPlatformNodeBase() { 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)AXPlatformNodeBase::~AXPlatformNodeBase() { 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void AXPlatformNodeBase::Init(AXPlatformNodeDelegate* delegate) { 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) delegate_ = delegate; 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)AXRole AXPlatformNodeBase::GetRole() const { 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return delegate_ ? delegate_->GetData()->role : AX_ROLE_UNKNOWN; 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)gfx::Rect AXPlatformNodeBase::GetBoundsInScreen() const { 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (!delegate_) 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return gfx::Rect(); 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) gfx::Rect bounds = delegate_->GetData()->location; 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bounds.Offset(delegate_->GetGlobalCoordinateOffset()); 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return bounds; 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)gfx::NativeViewAccessible AXPlatformNodeBase::GetParent() { 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return delegate_ ? delegate_->GetParent() : NULL; 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)int AXPlatformNodeBase::GetChildCount() { 395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return delegate_ ? delegate_->GetChildCount() : 0; 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)gfx::NativeViewAccessible AXPlatformNodeBase::ChildAtIndex(int index) { 435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return delegate_ ? delegate_->ChildAtIndex(index) : NULL; 445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// AXPlatformNode 475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void AXPlatformNodeBase::Destroy() { 495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) delegate_ = NULL; 505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) delete this; 515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)gfx::NativeViewAccessible AXPlatformNodeBase::GetNativeViewAccessible() { 545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return NULL; 555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} // namespace ui 59