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

Unified Diff: trunk/src/content/browser/accessibility/accessibility_ui.cc

Issue 408663006: Revert 284065 "Revert of Revert of Migrate accessibility from Re..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 5 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: trunk/src/content/browser/accessibility/accessibility_ui.cc
===================================================================
--- trunk/src/content/browser/accessibility/accessibility_ui.cc (revision 284469)
+++ trunk/src/content/browser/accessibility/accessibility_ui.cc (working copy)
@@ -15,7 +15,6 @@
#include "content/browser/accessibility/browser_accessibility_state_impl.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_view_base.h"
-#include "content/browser/web_contents/web_contents_impl.h"
#include "content/common/view_message_enums.h"
#include "content/public/browser/favicon_status.h"
#include "content/public/browser/navigation_entry.h"
@@ -64,11 +63,11 @@
}
base::DictionaryValue* BuildTargetDescriptor(RenderViewHost* rvh) {
- WebContentsImpl* web_contents = static_cast<WebContentsImpl*>(
- WebContents::FromRenderViewHost(rvh));
- AccessibilityMode accessibility_mode = web_contents->GetAccessibilityMode();
+ WebContents* web_contents = WebContents::FromRenderViewHost(rvh);
+ std::string title;
+ RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(rvh);
+ AccessibilityMode accessibility_mode = rwhi->accessibility_mode();
- std::string title;
GURL url;
GURL favicon_url;
if (web_contents) {
@@ -179,15 +178,14 @@
RenderViewHost* rvh = RenderViewHost::FromID(process_id, route_id);
if (!rvh)
return;
- WebContentsImpl* web_contents = static_cast<WebContentsImpl*>(
- WebContents::FromRenderViewHost(rvh));
- AccessibilityMode mode = web_contents->GetAccessibilityMode();
- if ((mode & AccessibilityModeComplete) != AccessibilityModeComplete) {
- web_contents->AddAccessibilityMode(AccessibilityModeComplete);
- } else {
- web_contents->SetAccessibilityMode(
- BrowserAccessibilityStateImpl::GetInstance()->accessibility_mode());
- }
+ RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(rvh);
+ if (!rwhi)
+ return;
+ AccessibilityMode mode = rwhi->accessibility_mode();
+ if ((mode & AccessibilityModeComplete) != AccessibilityModeComplete)
+ rwhi->AddAccessibilityMode(AccessibilityModeComplete);
+ else
+ rwhi->ResetAccessibilityMode();
}
void AccessibilityUI::ToggleGlobalAccessibility(const base::ListValue* args) {
@@ -222,10 +220,25 @@
}
scoped_ptr<base::DictionaryValue> result(BuildTargetDescriptor(rvh));
- WebContents* web_contents = WebContents::FromRenderViewHost(rvh);
+ RenderWidgetHostViewBase* host_view = static_cast<RenderWidgetHostViewBase*>(
+ WebContents::FromRenderViewHost(rvh)->GetRenderWidgetHostView());
+ if (!host_view) {
+ result->Set("error",
+ new base::StringValue("Could not get accessibility tree."));
+ web_ui()->CallJavascriptFunction("accessibility.showTree", *(result.get()));
+ return;
+ }
scoped_ptr<AccessibilityTreeFormatter> formatter(
- AccessibilityTreeFormatter::Create(web_contents));
+ AccessibilityTreeFormatter::Create(rvh));
base::string16 accessibility_contents_utf16;
+ BrowserAccessibilityManager* manager =
+ host_view->GetBrowserAccessibilityManager();
+ if (!manager) {
+ result->Set("error",
+ new base::StringValue("Could not get accessibility tree."));
+ web_ui()->CallJavascriptFunction("accessibility.showTree", *(result.get()));
+ return;
+ }
std::vector<AccessibilityTreeFormatter::Filter> filters;
filters.push_back(AccessibilityTreeFormatter::Filter(
base::ASCIIToUTF16("*"),

Powered by Google App Engine
This is Rietveld 408576698