| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/accessibility/browser_accessibility.h" | 5 #include "content/browser/accessibility/browser_accessibility.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 BrowserAccessibility::BrowserAccessibility() | 39 BrowserAccessibility::BrowserAccessibility() |
| 40 : manager_(NULL), | 40 : manager_(NULL), |
| 41 node_(NULL), | 41 node_(NULL), |
| 42 unique_id_(ui::AXPlatformNode::GetNextUniqueId()) { | 42 unique_id_(ui::AXPlatformNode::GetNextUniqueId()) { |
| 43 g_unique_id_map.Get()[unique_id_] = this; | 43 g_unique_id_map.Get()[unique_id_] = this; |
| 44 } | 44 } |
| 45 | 45 |
| 46 BrowserAccessibility::~BrowserAccessibility() { | 46 BrowserAccessibility::~BrowserAccessibility() { |
| 47 if (unique_id_) | 47 if (unique_id_) |
| 48 g_unique_id_map.Get().erase(unique_id_); | 48 g_unique_id_map.Get().erase(unique_id_); |
| 49 if (platform_node_) |
| 50 platform_node_->Destroy(); |
| 49 } | 51 } |
| 50 | 52 |
| 51 // static | 53 // static |
| 52 BrowserAccessibility* BrowserAccessibility::GetFromUniqueID(int32_t unique_id) { | 54 BrowserAccessibility* BrowserAccessibility::GetFromUniqueID(int32_t unique_id) { |
| 53 auto iter = g_unique_id_map.Get().find(unique_id); | 55 auto iter = g_unique_id_map.Get().find(unique_id); |
| 54 if (iter == g_unique_id_map.Get().end()) | 56 if (iter == g_unique_id_map.Get().end()) |
| 55 return nullptr; | 57 return nullptr; |
| 56 | 58 |
| 57 return iter->second; | 59 return iter->second; |
| 58 } | 60 } |
| 59 | 61 |
| 60 void BrowserAccessibility::Init(BrowserAccessibilityManager* manager, | 62 void BrowserAccessibility::Init(BrowserAccessibilityManager* manager, |
| 61 ui::AXNode* node) { | 63 ui::AXNode* node) { |
| 62 manager_ = manager; | 64 manager_ = manager; |
| 63 node_ = node; | 65 node_ = node; |
| 66 platform_node_ = ui::AXPlatformNode::Create(this); |
| 64 } | 67 } |
| 65 | 68 |
| 66 bool BrowserAccessibility::PlatformIsLeaf() const { | 69 bool BrowserAccessibility::PlatformIsLeaf() const { |
| 67 if (InternalChildCount() == 0) | 70 if (InternalChildCount() == 0) |
| 68 return true; | 71 return true; |
| 69 | 72 |
| 70 // These types of objects may have children that we use as internal | 73 // These types of objects may have children that we use as internal |
| 71 // implementation details, but we want to expose them as leaves to platform | 74 // implementation details, but we want to expose them as leaves to platform |
| 72 // accessibility APIs because screen readers might be confused if they find | 75 // accessibility APIs because screen readers might be confused if they find |
| 73 // any children. | 76 // any children. |
| (...skipping 1208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1282 const ui::AXActionData& data) { | 1285 const ui::AXActionData& data) { |
| 1283 NOTREACHED(); | 1286 NOTREACHED(); |
| 1284 return false; | 1287 return false; |
| 1285 } | 1288 } |
| 1286 | 1289 |
| 1287 void BrowserAccessibility::DoDefaultAction() { | 1290 void BrowserAccessibility::DoDefaultAction() { |
| 1288 NOTREACHED(); | 1291 NOTREACHED(); |
| 1289 } | 1292 } |
| 1290 | 1293 |
| 1291 } // namespace content | 1294 } // namespace content |
| OLD | NEW |