summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/render_view_host_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/renderer_host/render_view_host_impl.cc')
-rw-r--r--content/browser/renderer_host/render_view_host_impl.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index f333925..04de175 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -18,6 +18,9 @@
#include "base/time.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
+#if defined(OS_WIN)
+#include "base/win/windows_version.h"
+#endif
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/cross_site_request_manager.h"
#include "content/browser/gpu/gpu_surface_tracker.h"
@@ -33,6 +36,7 @@
#include "content/common/swapped_out_messages.h"
#include "content/common/view_messages.h"
#include "content/port/browser/render_widget_host_view_port.h"
+#include "content/public/browser/browser_accessibility_state.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_message_filter.h"
#include "content/public/browser/content_browser_client.h"
@@ -205,7 +209,7 @@ bool RenderViewHostImpl::CreateRenderView(const string16& frame_name,
// initialized it) or may not (we have our own process or the old process
// crashed) have been initialized. Calling Init multiple times will be
// ignored, so this is safe.
- if (!GetProcess()->Init(renderer_accessible()))
+ if (!GetProcess()->Init())
return false;
DCHECK(GetProcess()->HasConnection());
DCHECK(GetProcess()->GetBrowserContext());
@@ -245,6 +249,19 @@ bool RenderViewHostImpl::CreateRenderView(const string16& frame_name,
gfx::NativeViewFromId(GetNativeViewId()));
#endif
params.guest = guest_;
+ params.accessibility_mode =
+ BrowserAccessibilityState::GetInstance()->IsAccessibleBrowser() ?
+ AccessibilityModeComplete :
+ AccessibilityModeOff;
+
+#if defined(OS_WIN)
+ // On Windows 8, always enable accessibility for editable text controls
+ // so we can show the virtual keyboard when one is enabled.
+ if (base::win::GetVersion() >= base::win::VERSION_WIN8 &&
+ params.accessibility_mode == AccessibilityModeOff) {
+ params.accessibility_mode = AccessibilityModeEditableTextOnly;
+ }
+#endif
Send(new ViewMsg_New(params));