Index: content/browser/accessibility/accessibility_ui.cc |
diff --git a/content/browser/accessibility/accessibility_ui.cc b/content/browser/accessibility/accessibility_ui.cc |
index 628c54575cef32932af38cfc781de53ef480b311..155a1e99be4e4c4d7a71d1b6fc27af2d517911c9 100644 |
--- a/content/browser/accessibility/accessibility_ui.cc |
+++ b/content/browser/accessibility/accessibility_ui.cc |
@@ -15,6 +15,7 @@ |
#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" |
@@ -63,11 +64,11 @@ base::DictionaryValue* BuildTargetDescriptor( |
} |
base::DictionaryValue* BuildTargetDescriptor(RenderViewHost* rvh) { |
- WebContents* web_contents = WebContents::FromRenderViewHost(rvh); |
- std::string title; |
- RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(rvh); |
- AccessibilityMode accessibility_mode = rwhi->accessibility_mode(); |
+ WebContentsImpl* web_contents = static_cast<WebContentsImpl*>( |
+ WebContents::FromRenderViewHost(rvh)); |
+ AccessibilityMode accessibility_mode = web_contents->GetAccessibilityMode(); |
+ std::string title; |
GURL url; |
GURL favicon_url; |
if (web_contents) { |
@@ -178,14 +179,15 @@ void AccessibilityUI::ToggleAccessibility(const base::ListValue* args) { |
RenderViewHost* rvh = RenderViewHost::FromID(process_id, route_id); |
if (!rvh) |
return; |
- RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(rvh); |
- if (!rwhi) |
- return; |
- AccessibilityMode mode = rwhi->accessibility_mode(); |
- if ((mode & AccessibilityModeComplete) != AccessibilityModeComplete) |
- rwhi->AddAccessibilityMode(AccessibilityModeComplete); |
- else |
- rwhi->ResetAccessibilityMode(); |
+ 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()); |
+ } |
} |
void AccessibilityUI::ToggleGlobalAccessibility(const base::ListValue* args) { |
@@ -220,25 +222,10 @@ void AccessibilityUI::RequestAccessibilityTree(const base::ListValue* args) { |
} |
scoped_ptr<base::DictionaryValue> result(BuildTargetDescriptor(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; |
- } |
+ WebContents* web_contents = WebContents::FromRenderViewHost(rvh); |
scoped_ptr<AccessibilityTreeFormatter> formatter( |
- AccessibilityTreeFormatter::Create(rvh)); |
+ AccessibilityTreeFormatter::Create(web_contents)); |
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("*"), |