blob: 3479af14ab5d1daa5204100454b551f02c3e67d9 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/accessibility/platform/ax_platform_node_base.h"
#include "ui/accessibility/ax_node_data.h"
#include "ui/accessibility/platform/ax_platform_node_delegate.h"
namespace ui {
AXPlatformNodeBase::AXPlatformNodeBase() {
}
AXPlatformNodeBase::~AXPlatformNodeBase() {
}
void AXPlatformNodeBase::Init(AXPlatformNodeDelegate* delegate) {
delegate_ = delegate;
}
AXRole AXPlatformNodeBase::GetRole() const {
return delegate_ ? delegate_->GetData()->role : AX_ROLE_UNKNOWN;
}
gfx::Rect AXPlatformNodeBase::GetBoundsInScreen() const {
if (!delegate_)
return gfx::Rect();
gfx::Rect bounds = delegate_->GetData()->location;
bounds.Offset(delegate_->GetGlobalCoordinateOffset());
return bounds;
}
gfx::NativeViewAccessible AXPlatformNodeBase::GetParent() {
return delegate_ ? delegate_->GetParent() : NULL;
}
int AXPlatformNodeBase::GetChildCount() {
return delegate_ ? delegate_->GetChildCount() : 0;
}
gfx::NativeViewAccessible AXPlatformNodeBase::ChildAtIndex(int index) {
return delegate_ ? delegate_->ChildAtIndex(index) : NULL;
}
// AXPlatformNode
void AXPlatformNodeBase::Destroy() {
delegate_ = NULL;
delete this;
}
gfx::NativeViewAccessible AXPlatformNodeBase::GetNativeViewAccessible() {
return NULL;
}
} // namespace ui