Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(174)

Side by Side Diff: content/browser/accessibility/browser_accessibility_state_impl.cc

Issue 9939011: Add an accessibility mode for editable text fields only. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments and rebased. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/memory/singleton.h" 8 #include "base/memory/singleton.h"
8 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
9 #include "base/timer.h" 10 #include "base/timer.h"
11 #include "content/public/common/content_switches.h"
10 #include "ui/gfx/sys_color_change_listener.h" 12 #include "ui/gfx/sys_color_change_listener.h"
11 13
12 // Update the accessibility histogram 45 seconds after initialization. 14 // Update the accessibility histogram 45 seconds after initialization.
13 static const int kAccessibilityHistogramDelaySecs = 45; 15 static const int kAccessibilityHistogramDelaySecs = 45;
14 16
15 // static 17 // static
16 BrowserAccessibilityState* BrowserAccessibilityState::GetInstance() { 18 BrowserAccessibilityState* BrowserAccessibilityState::GetInstance() {
17 return BrowserAccessibilityStateImpl::GetInstance(); 19 return BrowserAccessibilityStateImpl::GetInstance();
18 } 20 }
19 21
20 // static 22 // static
21 BrowserAccessibilityStateImpl* BrowserAccessibilityStateImpl::GetInstance() { 23 BrowserAccessibilityStateImpl* BrowserAccessibilityStateImpl::GetInstance() {
22 return Singleton<BrowserAccessibilityStateImpl>::get(); 24 return Singleton<BrowserAccessibilityStateImpl>::get();
23 } 25 }
24 26
25 BrowserAccessibilityStateImpl::BrowserAccessibilityStateImpl() 27 BrowserAccessibilityStateImpl::BrowserAccessibilityStateImpl()
26 : BrowserAccessibilityState(), 28 : BrowserAccessibilityState(),
27 accessibility_enabled_(false) { 29 accessibility_enabled_(false) {
30 if (CommandLine::ForCurrentProcess()->HasSwitch(
31 switches::kForceRendererAccessibility)) {
32 OnAccessibilityEnabledManually();
33 }
28 update_histogram_timer_.Start( 34 update_histogram_timer_.Start(
29 FROM_HERE, 35 FROM_HERE,
30 base::TimeDelta::FromSeconds(kAccessibilityHistogramDelaySecs), 36 base::TimeDelta::FromSeconds(kAccessibilityHistogramDelaySecs),
31 this, 37 this,
32 &BrowserAccessibilityStateImpl::UpdateHistogram); 38 &BrowserAccessibilityStateImpl::UpdateHistogram);
33 } 39 }
34 40
35 BrowserAccessibilityStateImpl::~BrowserAccessibilityStateImpl() { 41 BrowserAccessibilityStateImpl::~BrowserAccessibilityStateImpl() {
36 } 42 }
37 43
38 void BrowserAccessibilityStateImpl::OnScreenReaderDetected() { 44 void BrowserAccessibilityStateImpl::OnScreenReaderDetected() {
45 if (CommandLine::ForCurrentProcess()->HasSwitch(
46 switches::kDisableRendererAccessibility)) {
47 return;
48 }
39 accessibility_enabled_ = true; 49 accessibility_enabled_ = true;
40 } 50 }
41 51
42 void BrowserAccessibilityStateImpl::OnAccessibilityEnabledManually() { 52 void BrowserAccessibilityStateImpl::OnAccessibilityEnabledManually() {
43 // We may want to do something different with this later. 53 // We may want to do something different with this later.
44 accessibility_enabled_ = true; 54 accessibility_enabled_ = true;
45 } 55 }
46 56
47 bool BrowserAccessibilityStateImpl::IsAccessibleBrowser() { 57 bool BrowserAccessibilityStateImpl::IsAccessibleBrowser() {
48 return accessibility_enabled_; 58 return accessibility_enabled_;
49 } 59 }
50 60
51 void BrowserAccessibilityStateImpl::UpdateHistogram() { 61 void BrowserAccessibilityStateImpl::UpdateHistogram() {
52 UMA_HISTOGRAM_ENUMERATION("Accessibility.State", 62 UMA_HISTOGRAM_ENUMERATION("Accessibility.State",
53 accessibility_enabled_ ? 1 : 0, 63 accessibility_enabled_ ? 1 : 0,
54 2); 64 2);
55 UMA_HISTOGRAM_ENUMERATION("Accessibility.InvertedColors", 65 UMA_HISTOGRAM_ENUMERATION("Accessibility.InvertedColors",
56 gfx::IsInvertedColorScheme() ? 1 : 0, 66 gfx::IsInvertedColorScheme() ? 1 : 0,
57 2); 67 2);
58 } 68 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698