| Index: content/browser/accessibility/browser_accessibility.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
|
| index 4e96eb28e5a3bdf2a074ef3674a1bcc3c4840b0c..429a870992050729b718a8578a8cd21508857c29 100644
|
| --- a/content/browser/accessibility/browser_accessibility.cc
|
| +++ b/content/browser/accessibility/browser_accessibility.cc
|
| @@ -40,16 +40,13 @@ BrowserAccessibility* BrowserAccessibility::Create() {
|
| BrowserAccessibility::BrowserAccessibility()
|
| : manager_(nullptr),
|
| node_(nullptr),
|
| - unique_id_(ui::GetNextAXPlatformNodeUniqueId()),
|
| - platform_node_(nullptr) {
|
| + unique_id_(ui::GetNextAXPlatformNodeUniqueId()) {
|
| g_unique_id_map.Get()[unique_id_] = this;
|
| }
|
|
|
| BrowserAccessibility::~BrowserAccessibility() {
|
| if (unique_id_)
|
| g_unique_id_map.Get().erase(unique_id_);
|
| - if (platform_node_)
|
| - platform_node_->Destroy();
|
| }
|
|
|
| // static
|
| @@ -65,13 +62,6 @@ void BrowserAccessibility::Init(BrowserAccessibilityManager* manager,
|
| ui::AXNode* node) {
|
| manager_ = manager;
|
| node_ = node;
|
| -
|
| -// Here we create the AXPlatformNode which contains a platform-specific
|
| -// implementation of requried accessibility APIS for this node. At this point,
|
| -// we only are creating this object for Windows. See http://crbug.com/703369
|
| -#if defined(OS_WIN)
|
| - platform_node_ = ui::AXPlatformNode::Create(this);
|
| -#endif
|
| }
|
|
|
| bool BrowserAccessibility::PlatformIsLeaf() const {
|
| @@ -1139,6 +1129,16 @@ gfx::Rect BrowserAccessibility::RelativeToAbsoluteBounds(
|
| return gfx::ToEnclosingRect(bounds);
|
| }
|
|
|
| +gfx::NativeViewAccessible BrowserAccessibility::GetNativeViewAccessible() {
|
| + // TODO(703369) On Windows, where we have started to migrate to an
|
| + // AXPlatformNode implementation, the BrowserAccessibilityWin subclass has
|
| + // overridden this method. On all other platforms, this method should not be
|
| + // called yet. In the future, when all subclasses have moved over to be
|
| + // implemented by AXPlatformNode, we may make this method completely virtual.
|
| + NOTREACHED();
|
| + return nullptr;
|
| +}
|
| +
|
| //
|
| // AXPlatformNodeDelegate.
|
| //
|
| @@ -1157,9 +1157,10 @@ gfx::NativeWindow BrowserAccessibility::GetTopLevelWidget() {
|
|
|
| gfx::NativeViewAccessible BrowserAccessibility::GetParent() {
|
| auto* parent = PlatformGetParent();
|
| - if (parent && parent->platform_node_)
|
| - return parent->platform_node_->GetNativeViewAccessible();
|
| - return nullptr;
|
| + if (!parent)
|
| + return nullptr;
|
| +
|
| + return parent->GetNativeViewAccessible();
|
| }
|
|
|
| int BrowserAccessibility::GetChildCount() {
|
| @@ -1168,9 +1169,10 @@ int BrowserAccessibility::GetChildCount() {
|
|
|
| gfx::NativeViewAccessible BrowserAccessibility::ChildAtIndex(int index) {
|
| auto* child = PlatformGetChild(index);
|
| - if (child && child->platform_node_)
|
| - return child->platform_node_->GetNativeViewAccessible();
|
| - return nullptr;
|
| + if (!child)
|
| + return nullptr;
|
| +
|
| + return child->GetNativeViewAccessible();
|
| }
|
|
|
| gfx::Rect BrowserAccessibility::GetScreenBoundsRect() const {
|
|
|