Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(287)

Side by Side Diff: content/browser/accessibility/browser_accessibility_manager.cc

Issue 1261073003: Tolerate GetRoot() returning null. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | content/browser/accessibility/browser_accessibility_manager_android.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_manager.h" 5 #include "content/browser/accessibility/browser_accessibility_manager.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/browser/accessibility/browser_accessibility.h" 8 #include "content/browser/accessibility/browser_accessibility.h"
9 #include "content/common/accessibility_messages.h" 9 #include "content/common/accessibility_messages.h"
10 #include "ui/accessibility/ax_tree_serializer.h" 10 #include "ui/accessibility/ax_tree_serializer.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 ui::AXTreeUpdate BrowserAccessibilityManager::GetEmptyDocument() { 122 ui::AXTreeUpdate BrowserAccessibilityManager::GetEmptyDocument() {
123 ui::AXNodeData empty_document; 123 ui::AXNodeData empty_document;
124 empty_document.id = 0; 124 empty_document.id = 0;
125 empty_document.role = ui::AX_ROLE_ROOT_WEB_AREA; 125 empty_document.role = ui::AX_ROLE_ROOT_WEB_AREA;
126 ui::AXTreeUpdate update; 126 ui::AXTreeUpdate update;
127 update.nodes.push_back(empty_document); 127 update.nodes.push_back(empty_document);
128 return update; 128 return update;
129 } 129 }
130 130
131 BrowserAccessibility* BrowserAccessibilityManager::GetRoot() { 131 BrowserAccessibility* BrowserAccessibilityManager::GetRoot() {
132 return GetFromAXNode(tree_->root()); 132 // tree_->root() can be null during AXTreeDelegate callbacks.
133 ui::AXNode* root = tree_->root();
134 return root ? GetFromAXNode(root) : nullptr;
133 } 135 }
134 136
135 BrowserAccessibility* BrowserAccessibilityManager::GetFromAXNode( 137 BrowserAccessibility* BrowserAccessibilityManager::GetFromAXNode(
136 ui::AXNode* node) { 138 ui::AXNode* node) {
137 return GetFromID(node->id()); 139 return GetFromID(node->id());
138 } 140 }
139 141
140 BrowserAccessibility* BrowserAccessibilityManager::GetFromID(int32 id) { 142 BrowserAccessibility* BrowserAccessibilityManager::GetFromID(int32 id) {
141 base::hash_map<int32, BrowserAccessibility*>::iterator iter = 143 base::hash_map<int32, BrowserAccessibility*>::iterator iter =
142 id_wrapper_map_.find(id); 144 id_wrapper_map_.find(id);
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 ui::AXTreeUpdate BrowserAccessibilityManager::SnapshotAXTreeForTesting() { 481 ui::AXTreeUpdate BrowserAccessibilityManager::SnapshotAXTreeForTesting() {
480 scoped_ptr<ui::AXTreeSource<const ui::AXNode*> > tree_source( 482 scoped_ptr<ui::AXTreeSource<const ui::AXNode*> > tree_source(
481 tree_->CreateTreeSource()); 483 tree_->CreateTreeSource());
482 ui::AXTreeSerializer<const ui::AXNode*> serializer(tree_source.get()); 484 ui::AXTreeSerializer<const ui::AXNode*> serializer(tree_source.get());
483 ui::AXTreeUpdate update; 485 ui::AXTreeUpdate update;
484 serializer.SerializeChanges(tree_->root(), &update); 486 serializer.SerializeChanges(tree_->root(), &update);
485 return update; 487 return update;
486 } 488 }
487 489
488 } // namespace content 490 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/accessibility/browser_accessibility_manager_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698