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

Side by Side Diff: chrome/browser/chromeos/accessibility/accessibility_manager.h

Issue 42743003: Adjust ChromeVox (spoken feedback) strings and make it possible for announcemen (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 1 month 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 #ifndef CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_
6 #define CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_ 6 #define CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_
7 7
8 #include "ash/accessibility_delegate.h" 8 #include "ash/accessibility_delegate.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/prefs/pref_change_registrar.h" 10 #include "base/prefs/pref_change_registrar.h"
11 #include "chrome/browser/chromeos/accessibility/accessibility_util.h" 11 #include "chrome/browser/chromeos/accessibility/accessibility_util.h"
12 #include "chrome/browser/extensions/api/braille_display_private/braille_controll er.h" 12 #include "chrome/browser/extensions/api/braille_display_private/braille_controll er.h"
13 #include "chrome/browser/extensions/event_router.h"
14 #include "chrome/browser/extensions/extension_system.h"
13 #include "content/public/browser/notification_observer.h" 15 #include "content/public/browser/notification_observer.h"
14 #include "content/public/browser/notification_registrar.h" 16 #include "content/public/browser/notification_registrar.h"
15 17
16 class Profile; 18 class Profile;
17 19
18 namespace chromeos { 20 namespace chromeos {
19 21
20 struct AccessibilityStatusEventDetails { 22 struct AccessibilityStatusEventDetails {
21 AccessibilityStatusEventDetails( 23 AccessibilityStatusEventDetails(
22 bool enabled, 24 bool enabled,
23 ash::AccessibilityNotificationVisibility notify); 25 ash::AccessibilityNotificationVisibility notify);
24 26
25 AccessibilityStatusEventDetails( 27 AccessibilityStatusEventDetails(
26 bool enabled, 28 bool enabled,
27 ash::MagnifierType magnifier_type, 29 ash::MagnifierType magnifier_type,
28 ash::AccessibilityNotificationVisibility notify); 30 ash::AccessibilityNotificationVisibility notify);
29 31
30 bool enabled; 32 bool enabled;
31 ash::MagnifierType magnifier_type; 33 ash::MagnifierType magnifier_type;
32 ash::AccessibilityNotificationVisibility notify; 34 ash::AccessibilityNotificationVisibility notify;
33 }; 35 };
34 36
35 // AccessibilityManager changes the statuses of accessibility features 37 // AccessibilityManager changes the statuses of accessibility features
36 // watching profile notifications and pref-changes. 38 // watching profile notifications and pref-changes.
37 // TODO(yoshiki): merge MagnificationManager with AccessibilityManager. 39 // TODO(yoshiki): merge MagnificationManager with AccessibilityManager.
38 class AccessibilityManager : public content::NotificationObserver, 40 class AccessibilityManager : public content::NotificationObserver,
41 public extensions::EventRouter::Observer,
39 extensions::api::braille_display_private::BrailleObserver { 42 extensions::api::braille_display_private::BrailleObserver {
40 public: 43 public:
41 // Creates an instance of AccessibilityManager, this should be called once, 44 // Creates an instance of AccessibilityManager, this should be called once,
42 // because only one instance should exist at the same time. 45 // because only one instance should exist at the same time.
43 static void Initialize(); 46 static void Initialize();
44 // Deletes the existing instance of AccessibilityManager. 47 // Deletes the existing instance of AccessibilityManager.
45 static void Shutdown(); 48 static void Shutdown();
46 // Returns the existing instance. If there is no instance, returns NULL. 49 // Returns the existing instance. If there is no instance, returns NULL.
47 static AccessibilityManager* Get(); 50 static AccessibilityManager* Get();
48 51
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 virtual void Observe(int type, 152 virtual void Observe(int type,
150 const content::NotificationSource& source, 153 const content::NotificationSource& source,
151 const content::NotificationDetails& details) OVERRIDE; 154 const content::NotificationDetails& details) OVERRIDE;
152 155
153 // extensions::api::braille_display_private::BrailleObserver implementation. 156 // extensions::api::braille_display_private::BrailleObserver implementation.
154 // Enables spoken feedback if a braille display becomes available. 157 // Enables spoken feedback if a braille display becomes available.
155 virtual void OnDisplayStateChanged( 158 virtual void OnDisplayStateChanged(
156 const extensions::api::braille_display_private::DisplayState& 159 const extensions::api::braille_display_private::DisplayState&
157 display_state) OVERRIDE; 160 display_state) OVERRIDE;
158 161
162 // EventRouter::Observer implementation.
163 virtual void OnListenerAdded(
164 const extensions::EventListenerInfo& details) OVERRIDE;
165 virtual void OnListenerRemoved(
166 const extensions::EventListenerInfo& details) OVERRIDE;
167
159 // Profile which has the current a11y context. 168 // Profile which has the current a11y context.
160 Profile* profile_; 169 Profile* profile_;
161 170
162 // Profile which ChromeVox is currently loaded to. If NULL, ChromeVox is not 171 // Profile which ChromeVox is currently loaded to. If NULL, ChromeVox is not
163 // loaded to any profile. 172 // loaded to any profile.
164 bool chrome_vox_loaded_on_lock_screen_; 173 bool chrome_vox_loaded_on_lock_screen_;
165 bool chrome_vox_loaded_on_user_screen_; 174 bool chrome_vox_loaded_on_user_screen_;
166 175
167 content::NotificationRegistrar notification_registrar_; 176 content::NotificationRegistrar notification_registrar_;
168 scoped_ptr<PrefChangeRegistrar> pref_change_registrar_; 177 scoped_ptr<PrefChangeRegistrar> pref_change_registrar_;
169 scoped_ptr<PrefChangeRegistrar> local_state_pref_change_registrar_; 178 scoped_ptr<PrefChangeRegistrar> local_state_pref_change_registrar_;
170 179
171 PrefHandler large_cursor_pref_handler_; 180 PrefHandler large_cursor_pref_handler_;
172 PrefHandler spoken_feedback_pref_handler_; 181 PrefHandler spoken_feedback_pref_handler_;
173 PrefHandler high_contrast_pref_handler_; 182 PrefHandler high_contrast_pref_handler_;
174 PrefHandler autoclick_pref_handler_; 183 PrefHandler autoclick_pref_handler_;
175 PrefHandler autoclick_delay_pref_handler_; 184 PrefHandler autoclick_delay_pref_handler_;
176 185
177 bool large_cursor_enabled_; 186 bool large_cursor_enabled_;
178 bool sticky_keys_enabled_; 187 bool sticky_keys_enabled_;
179 bool spoken_feedback_enabled_; 188 bool spoken_feedback_enabled_;
180 bool high_contrast_enabled_; 189 bool high_contrast_enabled_;
181 bool autoclick_enabled_; 190 bool autoclick_enabled_;
182 int autoclick_delay_ms_; 191 int autoclick_delay_ms_;
183 192
184 ash::AccessibilityNotificationVisibility spoken_feedback_notification_; 193 ash::AccessibilityNotificationVisibility spoken_feedback_notification_;
185 194
186 base::WeakPtrFactory<AccessibilityManager> weak_ptr_factory_; 195 base::WeakPtrFactory<AccessibilityManager> weak_ptr_factory_;
187 196
197 bool should_speak_chrome_vox_announcements_on_user_screen_;
198
188 DISALLOW_COPY_AND_ASSIGN(AccessibilityManager); 199 DISALLOW_COPY_AND_ASSIGN(AccessibilityManager);
189 }; 200 };
190 201
191 } // namespace chromeos 202 } // namespace chromeos
192 203
193 #endif // CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_ 204 #endif // CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698