summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host
diff options
context:
space:
mode:
authordtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-20 22:46:30 +0000
committerdtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-20 22:46:30 +0000
commita9c6299d644877904be7937ec1751da3e6752f97 (patch)
tree9c4239b71125b499438a7450ed3f670add4e38d3 /chrome/browser/renderer_host
parentc1d82b6a3c955189c3a807906779c2966ed16db5 (diff)
downloadchromium_src-a9c6299d644877904be7937ec1751da3e6752f97.zip
chromium_src-a9c6299d644877904be7937ec1751da3e6752f97.tar.gz
chromium_src-a9c6299d644877904be7937ec1751da3e6752f97.tar.bz2
Only enable renderer accessibility on Mac if a command line flag is passed or VoiceOver is running.
BUG=55902 TEST=run Chrome with and without VoiceOver on. In the former case, verify that accessibility works; in the latter case, verify that accessibility doesn't work. Review URL: http://codereview.chromium.org/3468001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59983 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host')
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_mac.h3
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_mac.mm12
2 files changed, 13 insertions, 2 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view_mac.h b/chrome/browser/renderer_host/render_widget_host_view_mac.h
index 1c34449..688ee42 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_mac.h
+++ b/chrome/browser/renderer_host/render_widget_host_view_mac.h
@@ -303,6 +303,9 @@ class RenderWidgetHostViewMac : public RenderWidgetHostView {
// invoke it from the message loop.
void ShutdownHost();
+ // Used to determine whether or not to enable accessibility.
+ bool IsVoiceOverRunning();
+
// The associated view. This is weak and is inserted into the view hierarchy
// to own this RenderWidgetHostViewMac object unless is_popup_menu_ is true.
// In that case, cocoa_view_ is never inserted into the view hierarchy, so
diff --git a/chrome/browser/renderer_host/render_widget_host_view_mac.mm b/chrome/browser/renderer_host/render_widget_host_view_mac.mm
index 966f9fb..bd18a81 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/chrome/browser/renderer_host/render_widget_host_view_mac.mm
@@ -401,8 +401,10 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget)
initWithRenderWidgetHostViewMac:this] autorelease];
render_widget_host_->set_view(this);
- renderer_accessible_ = !CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kDisableRendererAccessibility);
+ // Turn on accessibility only if one or both of these flags is true.
+ renderer_accessible_ = IsVoiceOverRunning() ||
+ CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kForceRendererAccessibility);
}
RenderWidgetHostViewMac::~RenderWidgetHostViewMac() {
@@ -984,6 +986,12 @@ void RenderWidgetHostViewMac::ShutdownHost() {
// Do not touch any members at this point, |this| has been deleted.
}
+bool RenderWidgetHostViewMac::IsVoiceOverRunning() {
+ NSUserDefaults* user_defaults = [NSUserDefaults standardUserDefaults];
+ [user_defaults addSuiteNamed:@"com.apple.universalaccess"];
+ return 1 == [user_defaults integerForKey:@"voiceOverOnOffKey"];
+}
+
namespace {
// Adjusts an NSRect in Cocoa screen coordinates to have an origin in the upper