| Index: content/browser/accessibility/browser_accessibility.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
|
| index e48625d5595dc23f03d5d311d0a5b7d93a1c91ff..8583ed1ca6c15ac0aa676037ab5ab2a77315d762 100644
|
| --- a/content/browser/accessibility/browser_accessibility.cc
|
| +++ b/content/browser/accessibility/browser_accessibility.cc
|
| @@ -37,15 +37,18 @@ BrowserAccessibility* BrowserAccessibility::Create() {
|
| #endif
|
|
|
| BrowserAccessibility::BrowserAccessibility()
|
| - : manager_(NULL),
|
| - node_(NULL),
|
| - unique_id_(ui::GetNextAXPlatformNodeUniqueId()) {
|
| + : manager_(nullptr),
|
| + node_(nullptr),
|
| + unique_id_(ui::GetNextAXPlatformNodeUniqueId()),
|
| + platform_node_(nullptr) {
|
| 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
|
| @@ -61,6 +64,13 @@ 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 {
|
|
|