| 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 0607c92c0ec51533cc973ef7bf1656c8dc97a1d6..cf6a4e600eed76e98ac20ff3140385e02df62a96 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
|
| @@ -1073,8 +1072,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);
|
| }
|
| }
|
| @@ -1189,34 +1190,36 @@ void RenderWidgetHostViewAura::SetScrollOffsetPinning(
|
| // Not needed. Mac-only.
|
| }
|
|
|
| -void RenderWidgetHostViewAura::CreateBrowserAccessibilityManagerIfNeeded() {
|
| - if (GetBrowserAccessibilityManager())
|
| - return;
|
| -
|
| +BrowserAccessibilityManager*
|
| +RenderWidgetHostViewAura::CreateBrowserAccessibilityManager(
|
| + 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() {
|
| @@ -2030,7 +2033,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) {
|
| @@ -2043,7 +2047,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();
|
|
|
|
|