Chromium Code Reviews| Index: content/browser/accessibility/browser_accessibility_manager.cc |
| diff --git a/content/browser/accessibility/browser_accessibility_manager.cc b/content/browser/accessibility/browser_accessibility_manager.cc |
| index 0bc4260ac629c53f97b73de99dfd7371a88ace76..82fd873279a33eb6c1c37eba521227221b4c97ce 100644 |
| --- a/content/browser/accessibility/browser_accessibility_manager.cc |
| +++ b/content/browser/accessibility/browser_accessibility_manager.cc |
| @@ -362,8 +362,9 @@ void BrowserAccessibilityManager::SetTextSelection( |
| } |
| gfx::Rect BrowserAccessibilityManager::GetViewBounds() { |
| - if (delegate_) |
| - return delegate_->AccessibilityGetViewBounds(); |
| + BrowserAccessibilityDelegate* delegate = GetDelegateFromRootManager(); |
| + if (delegate) |
| + return delegate->AccessibilityGetViewBounds(); |
| return gfx::Rect(); |
| } |
| @@ -433,6 +434,14 @@ void BrowserAccessibilityManager::OnNodeChangeFinished(ui::AXNode* node) { |
| GetFromAXNode(node)->OnUpdateFinished(); |
| } |
| +BrowserAccessibilityDelegate* |
| + BrowserAccessibilityManager::GetDelegateFromRootManager() { |
| + BrowserAccessibility* root = GetRoot(); |
|
David Tseng
2015/01/15 22:33:27
Would maybe be cleaner to just hold a pointer to B
dmazzoni
2015/01/15 23:09:22
Done.
|
| + while (root->GetParent()) |
| + root = root->GetParent()->manager()->GetRoot(); |
| + return root->manager()->delegate(); |
| +} |
| + |
| ui::AXTreeUpdate BrowserAccessibilityManager::SnapshotAXTreeForTesting() { |
| scoped_ptr<ui::AXTreeSource<const ui::AXNode*> > tree_source( |
| tree_->CreateTreeSource()); |