Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
index ad9fffb58881488ee7895c078cb31e83bcbbfc2d..205f3fcd6bae5a36b31577dbe5ea8d4bd3cc4016 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
@@ -651,8 +651,9 @@ |
if (!host) |
return static_cast<gfx::NativeViewAccessible>(NULL); |
HWND hwnd = host->GetAcceleratedWidget(); |
- BrowserAccessibilityManager* manager = |
- host_->GetOrCreateRootBrowserAccessibilityManager(); |
+ |
+ CreateBrowserAccessibilityManagerIfNeeded(); |
+ BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager(); |
if (manager) |
return manager->GetRoot()->ToBrowserAccessibilityWin(); |
#endif |
@@ -1042,10 +1043,8 @@ |
#if defined(OS_WIN) |
void RenderWidgetHostViewAura::SetParentNativeViewAccessible( |
gfx::NativeViewAccessible accessible_parent) { |
- BrowserAccessibilityManager* manager = |
- host_->GetRootBrowserAccessibilityManager(); |
- if (manager) { |
- manager->ToBrowserAccessibilityManagerWin() |
+ if (GetBrowserAccessibilityManager()) { |
+ GetBrowserAccessibilityManager()->ToBrowserAccessibilityManagerWin() |
->set_parent_iaccessible(accessible_parent); |
} |
} |
@@ -1192,21 +1191,22 @@ |
: INPUT_EVENT_ACK_STATE_NOT_CONSUMED; |
} |
-BrowserAccessibilityManager* |
-RenderWidgetHostViewAura::CreateBrowserAccessibilityManager( |
- BrowserAccessibilityDelegate* delegate) { |
- BrowserAccessibilityManager* manager = NULL; |
+void RenderWidgetHostViewAura::CreateBrowserAccessibilityManagerIfNeeded() { |
#if defined(OS_WIN) |
- gfx::NativeViewAccessible accessible_parent = |
- host_->GetParentNativeViewAccessible(); |
- manager = new BrowserAccessibilityManagerWin( |
- legacy_render_widget_host_HWND_, accessible_parent, |
- BrowserAccessibilityManagerWin::GetEmptyDocument(), delegate); |
+ if (!GetBrowserAccessibilityManager()) { |
+ gfx::NativeViewAccessible accessible_parent = |
+ host_->GetParentNativeViewAccessible(); |
+ SetBrowserAccessibilityManager(new BrowserAccessibilityManagerWin( |
+ legacy_render_widget_host_HWND_, accessible_parent, |
+ BrowserAccessibilityManagerWin::GetEmptyDocument(), host_)); |
+ } |
#else |
- manager = BrowserAccessibilityManager::Create( |
- BrowserAccessibilityManager::GetEmptyDocument(), delegate); |
-#endif |
- return manager; |
+ if (!GetBrowserAccessibilityManager()) { |
+ SetBrowserAccessibilityManager( |
+ BrowserAccessibilityManager::Create( |
+ BrowserAccessibilityManager::GetEmptyDocument(), host_)); |
+ } |
+#endif |
} |
gfx::GLSurfaceHandle RenderWidgetHostViewAura::GetCompositingSurface() { |
@@ -2048,8 +2048,7 @@ |
host_->SetInputMethodActive(false); |
} |
- BrowserAccessibilityManager* manager = |
- host_->GetRootBrowserAccessibilityManager(); |
+ BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager(); |
if (manager) |
manager->OnWindowFocused(); |
} else if (window_ == lost_focus) { |
@@ -2065,8 +2064,7 @@ |
if (overscroll_controller_) |
overscroll_controller_->Cancel(); |
- BrowserAccessibilityManager* manager = |
- host_->GetRootBrowserAccessibilityManager(); |
+ BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager(); |
if (manager) |
manager->OnWindowBlurred(); |
@@ -2312,7 +2310,7 @@ |
BrowserAccessibilityManagerWin* manager = |
static_cast<BrowserAccessibilityManagerWin*>( |
- host_->GetRootBrowserAccessibilityManager()); |
+ GetBrowserAccessibilityManager()); |
if (manager) |
manager->SetAccessibleHWND(legacy_render_widget_host_HWND_); |
} |