#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"
}
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) {
scoped_ptr<base::DictionaryValue> data(new base::DictionaryValue());
data->Set("list", rvh_list.release());
- scoped_ptr<base::FundamentalValue> a11y_mode(base::Value::CreateIntegerValue(
- BrowserAccessibilityStateImpl::GetInstance()->accessibility_mode()));
- data->Set("global_a11y_mode", a11y_mode.release());
+ data->SetInteger(
+ "global_a11y_mode",
+ BrowserAccessibilityStateImpl::GetInstance()->accessibility_mode());
std::string json_string;
base::JSONWriter::Write(data.get(), &json_string);
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) {
}
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("*"),