Chromium Code Reviews| 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 b02b325a545b87df62f5fe6674795eeb918e2de8..d400673853c2f228ce987f9cb23948fdf22d07a0 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
| @@ -635,9 +635,8 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::GetNativeViewAccessible() { |
| if (!host) |
| return static_cast<gfx::NativeViewAccessible>(NULL); |
| HWND hwnd = host->GetAcceleratedWidget(); |
| - |
| - CreateBrowserAccessibilityManagerIfNeeded(); |
| - BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager(); |
| + BrowserAccessibilityManager* manager = |
| + host_->GetRootBrowserAccessibilityManager(); |
| if (manager) |
| return manager->GetRoot()->ToBrowserAccessibilityWin(); |
| #endif |
| @@ -1072,8 +1071,10 @@ void RenderWidgetHostViewAura::OnSwapCompositorFrame( |
| #if defined(OS_WIN) |
| void RenderWidgetHostViewAura::SetParentNativeViewAccessible( |
| gfx::NativeViewAccessible accessible_parent) { |
| - if (GetBrowserAccessibilityManager()) { |
| - GetBrowserAccessibilityManager()->ToBrowserAccessibilityManagerWin() |
| + BrowserAccessibilityManager* manager = |
| + host_->GetRootBrowserAccessibilityManager(); |
| + if (manager) { |
| + manager->ToBrowserAccessibilityManagerWin() |
| ->set_parent_iaccessible(accessible_parent); |
| } |
| } |
| @@ -1188,34 +1189,36 @@ void RenderWidgetHostViewAura::SetScrollOffsetPinning( |
| // Not needed. Mac-only. |
| } |
| -void RenderWidgetHostViewAura::CreateBrowserAccessibilityManagerIfNeeded() { |
| - if (GetBrowserAccessibilityManager()) |
| - return; |
| - |
| +BrowserAccessibilityManager* |
| + RenderWidgetHostViewAura::CreateBrowserAccessibilityManager( |
|
ncarter (slow)
2014/05/28 00:50:11
Indentation is off here.
dmazzoni
2014/05/28 22:01:17
Done.
|
| + BrowserAccessibilityDelegate* delegate) { |
| BrowserAccessibilityManager* manager = NULL; |
| #if defined(OS_WIN) |
| aura::WindowTreeHost* host = window_->GetHost(); |
| if (!host) |
| - return; |
| + return NULL; |
| HWND hwnd = host->GetAcceleratedWidget(); |
| // The accessible_parent may be NULL at this point. The WebContents will pass |
| // it down to this instance (by way of the RenderViewHost and |
| // RenderWidgetHost) when it is known. This instance will then set it on its |
| // BrowserAccessibilityManager. |
| + RenderViewHost* rvh = RenderViewHost::From(host_); |
| + RenderFrameHostImpl* rfh = |
| + rvh->GetDelegate()->GetFrameTree()->GetMainFrame(); |
| gfx::NativeViewAccessible accessible_parent = |
| - host_->GetParentNativeViewAccessible(); |
| + rfh->GetParentNativeViewAccessible(); |
| if (legacy_render_widget_host_HWND_) { |
| manager = new BrowserAccessibilityManagerWin( |
| legacy_render_widget_host_HWND_.get(), accessible_parent, |
| - BrowserAccessibilityManagerWin::GetEmptyDocument(), host_); |
| + BrowserAccessibilityManagerWin::GetEmptyDocument(), delegate); |
| } |
| #else |
| manager = BrowserAccessibilityManager::Create( |
| - BrowserAccessibilityManager::GetEmptyDocument(), host_); |
| + BrowserAccessibilityManager::GetEmptyDocument(), delegate); |
| #endif |
| - SetBrowserAccessibilityManager(manager); |
| + return manager; |
| } |
| gfx::GLSurfaceHandle RenderWidgetHostViewAura::GetCompositingSurface() { |
| @@ -2028,7 +2031,8 @@ void RenderWidgetHostViewAura::OnWindowFocused(aura::Window* gained_focus, |
| host_->SetInputMethodActive(false); |
| } |
| - BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager(); |
| + BrowserAccessibilityManager* manager = |
| + host_->GetRootBrowserAccessibilityManager(); |
| if (manager) |
| manager->OnWindowFocused(); |
| } else if (window_ == lost_focus) { |
| @@ -2041,7 +2045,8 @@ void RenderWidgetHostViewAura::OnWindowFocused(aura::Window* gained_focus, |
| if (touch_editing_client_) |
| touch_editing_client_->EndTouchEditing(false); |
| - BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager(); |
| + BrowserAccessibilityManager* manager = |
| + host_->GetRootBrowserAccessibilityManager(); |
| if (manager) |
| manager->OnWindowBlurred(); |