| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/accessibility/browser_accessibility_state_impl.h" | 5 #include "content/browser/accessibility/browser_accessibility_state_impl.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
| 9 #include "base/timer.h" | 9 #include "base/timer.h" |
| 10 #include "content/public/browser/browser_thread.h" | 10 #include "content/public/browser/browser_thread.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 } | 26 } |
| 27 | 27 |
| 28 // static | 28 // static |
| 29 BrowserAccessibilityStateImpl* BrowserAccessibilityStateImpl::GetInstance() { | 29 BrowserAccessibilityStateImpl* BrowserAccessibilityStateImpl::GetInstance() { |
| 30 return Singleton<BrowserAccessibilityStateImpl, | 30 return Singleton<BrowserAccessibilityStateImpl, |
| 31 LeakySingletonTraits<BrowserAccessibilityStateImpl> >::get(); | 31 LeakySingletonTraits<BrowserAccessibilityStateImpl> >::get(); |
| 32 } | 32 } |
| 33 | 33 |
| 34 BrowserAccessibilityStateImpl::BrowserAccessibilityStateImpl() | 34 BrowserAccessibilityStateImpl::BrowserAccessibilityStateImpl() |
| 35 : BrowserAccessibilityState(), | 35 : BrowserAccessibilityState(), |
| 36 accessibility_mode_(AccessibilityModeOff) { | 36 accessibility_mode_(ACCESSIBILITY_MODE_OFF) { |
| 37 #if defined(OS_WIN) | 37 #if defined(OS_WIN) |
| 38 // On Windows 8, always enable accessibility for editable text controls | 38 // On Windows 8, always enable accessibility for editable text controls |
| 39 // so we can show the virtual keyboard when one is enabled. | 39 // so we can show the virtual keyboard when one is enabled. |
| 40 if (base::win::GetVersion() >= base::win::VERSION_WIN8 && | 40 if (base::win::GetVersion() >= base::win::VERSION_WIN8 && |
| 41 !CommandLine::ForCurrentProcess()->HasSwitch( | 41 !CommandLine::ForCurrentProcess()->HasSwitch( |
| 42 switches::kDisableRendererAccessibility)) { | 42 switches::kDisableRendererAccessibility)) { |
| 43 accessibility_mode_ = AccessibilityModeEditableTextOnly; | 43 accessibility_mode_ = ACCESSIBILITY_MODE_EDITABLE_TEXT_ONLY; |
| 44 } | 44 } |
| 45 #endif // defined(OS_WIN) | 45 #endif // defined(OS_WIN) |
| 46 | 46 |
| 47 if (CommandLine::ForCurrentProcess()->HasSwitch( | 47 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 48 switches::kForceRendererAccessibility)) { | 48 switches::kForceRendererAccessibility)) { |
| 49 accessibility_mode_ = AccessibilityModeComplete; | 49 accessibility_mode_ = ACCESSIBILITY_MODE_COMPLETE; |
| 50 } | 50 } |
| 51 | 51 |
| 52 #if defined(OS_WIN) | 52 #if defined(OS_WIN) |
| 53 // On Windows, UpdateHistograms calls some system functions with unknown | 53 // On Windows, UpdateHistograms calls some system functions with unknown |
| 54 // runtime, so call it on the file thread to ensure there's no jank. | 54 // runtime, so call it on the file thread to ensure there's no jank. |
| 55 // Everything in that method must be safe to call on another thread. | 55 // Everything in that method must be safe to call on another thread. |
| 56 BrowserThread::ID update_histogram_thread = BrowserThread::FILE; | 56 BrowserThread::ID update_histogram_thread = BrowserThread::FILE; |
| 57 #else | 57 #else |
| 58 // On all other platforms, UpdateHistograms should be called on the main | 58 // On all other platforms, UpdateHistograms should be called on the main |
| 59 // thread. | 59 // thread. |
| (...skipping 10 matching lines...) Expand all Loading... |
| 70 } | 70 } |
| 71 | 71 |
| 72 BrowserAccessibilityStateImpl::~BrowserAccessibilityStateImpl() { | 72 BrowserAccessibilityStateImpl::~BrowserAccessibilityStateImpl() { |
| 73 } | 73 } |
| 74 | 74 |
| 75 void BrowserAccessibilityStateImpl::OnScreenReaderDetected() { | 75 void BrowserAccessibilityStateImpl::OnScreenReaderDetected() { |
| 76 if (CommandLine::ForCurrentProcess()->HasSwitch( | 76 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 77 switches::kDisableRendererAccessibility)) { | 77 switches::kDisableRendererAccessibility)) { |
| 78 return; | 78 return; |
| 79 } | 79 } |
| 80 SetAccessibilityMode(AccessibilityModeComplete); | 80 SetAccessibilityMode(ACCESSIBILITY_MODE_COMPLETE); |
| 81 } | 81 } |
| 82 | 82 |
| 83 void BrowserAccessibilityStateImpl::OnAccessibilityEnabledManually() { | 83 void BrowserAccessibilityStateImpl::OnAccessibilityEnabledManually() { |
| 84 // We may want to do something different with this later. | 84 // We may want to do something different with this later. |
| 85 SetAccessibilityMode(AccessibilityModeComplete); | 85 SetAccessibilityMode(ACCESSIBILITY_MODE_COMPLETE); |
| 86 } | 86 } |
| 87 | 87 |
| 88 bool BrowserAccessibilityStateImpl::IsAccessibleBrowser() { | 88 bool BrowserAccessibilityStateImpl::IsAccessibleBrowser() { |
| 89 return (accessibility_mode_ == AccessibilityModeComplete); | 89 return (accessibility_mode_ == ACCESSIBILITY_MODE_COMPLETE); |
| 90 } | 90 } |
| 91 | 91 |
| 92 void BrowserAccessibilityStateImpl::AddHistogramCallback( | 92 void BrowserAccessibilityStateImpl::AddHistogramCallback( |
| 93 base::Closure callback) { | 93 base::Closure callback) { |
| 94 histogram_callbacks_.push_back(callback); | 94 histogram_callbacks_.push_back(callback); |
| 95 } | 95 } |
| 96 | 96 |
| 97 void BrowserAccessibilityStateImpl::UpdateHistogramsForTesting() { | 97 void BrowserAccessibilityStateImpl::UpdateHistogramsForTesting() { |
| 98 UpdateHistograms(); | 98 UpdateHistograms(); |
| 99 } | 99 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 120 AccessibilityMode BrowserAccessibilityStateImpl::GetAccessibilityMode() { | 120 AccessibilityMode BrowserAccessibilityStateImpl::GetAccessibilityMode() { |
| 121 return accessibility_mode_; | 121 return accessibility_mode_; |
| 122 } | 122 } |
| 123 | 123 |
| 124 void BrowserAccessibilityStateImpl::SetAccessibilityMode( | 124 void BrowserAccessibilityStateImpl::SetAccessibilityMode( |
| 125 AccessibilityMode mode) { | 125 AccessibilityMode mode) { |
| 126 accessibility_mode_ = mode; | 126 accessibility_mode_ = mode; |
| 127 } | 127 } |
| 128 | 128 |
| 129 } // namespace content | 129 } // namespace content |
| OLD | NEW |