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

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 273423004: Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix win & android compile Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698