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 "chrome/browser/chromeos/accessibility/accessibility_util.h" | 5 #include "chrome/browser/chromeos/accessibility/accessibility_util.h" |
6 | 6 |
7 #include <queue> | 7 #include <queue> |
8 | 8 |
9 #include "ash/high_contrast/high_contrast_controller.h" | 9 #include "ash/high_contrast/high_contrast_controller.h" |
10 #include "ash/magnifier/magnification_controller.h" | 10 #include "ash/magnifier/magnification_controller.h" |
11 #include "ash/magnifier/partial_magnification_controller.h" | |
11 #include "ash/shell.h" | 12 #include "ash/shell.h" |
12 #include "base/bind.h" | 13 #include "base/bind.h" |
13 #include "base/bind_helpers.h" | 14 #include "base/bind_helpers.h" |
14 #include "base/logging.h" | 15 #include "base/logging.h" |
15 #include "chrome/browser/accessibility/accessibility_extension_api.h" | 16 #include "chrome/browser/accessibility/accessibility_extension_api.h" |
16 #include "chrome/browser/browser_process.h" | 17 #include "chrome/browser/browser_process.h" |
17 #include "chrome/browser/extensions/component_loader.h" | 18 #include "chrome/browser/extensions/component_loader.h" |
18 #include "chrome/browser/extensions/extension_service.h" | 19 #include "chrome/browser/extensions/extension_service.h" |
19 #include "chrome/browser/extensions/file_reader.h" | 20 #include "chrome/browser/extensions/file_reader.h" |
20 #include "chrome/browser/prefs/pref_service.h" | 21 #include "chrome/browser/prefs/pref_service.h" |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
178 void EnableHighContrast(bool enabled) { | 179 void EnableHighContrast(bool enabled) { |
179 PrefService* pref_service = g_browser_process->local_state(); | 180 PrefService* pref_service = g_browser_process->local_state(); |
180 pref_service->SetBoolean(prefs::kHighContrastEnabled, enabled); | 181 pref_service->SetBoolean(prefs::kHighContrastEnabled, enabled); |
181 pref_service->CommitPendingWrite(); | 182 pref_service->CommitPendingWrite(); |
182 | 183 |
183 #if defined(USE_ASH) | 184 #if defined(USE_ASH) |
184 ash::Shell::GetInstance()->high_contrast_controller()->SetEnabled(enabled); | 185 ash::Shell::GetInstance()->high_contrast_controller()->SetEnabled(enabled); |
185 #endif | 186 #endif |
186 } | 187 } |
187 | 188 |
188 void EnableScreenMagnifier(bool enabled) { | 189 void SetScreenMagnifier(ScreenMagnifierType type) { |
189 PrefService* pref_service = g_browser_process->local_state(); | 190 PrefService* pref_service = g_browser_process->local_state(); |
190 pref_service->SetBoolean(prefs::kScreenMagnifierEnabled, enabled); | 191 pref_service->SetBoolean(prefs::kScreenMagnifierEnabled, |
sky
2012/11/12 15:23:46
Can we have a single string preference for these?
Zachary Kuznia
2012/11/13 08:16:15
Done.
| |
192 type == MagnifierFull); | |
193 pref_service->SetBoolean(prefs::kPartialScreenMagnifierEnabled, | |
194 type == MagnifierPartial); | |
191 pref_service->CommitPendingWrite(); | 195 pref_service->CommitPendingWrite(); |
192 | 196 |
193 #if defined(USE_ASH) | 197 #if defined(USE_ASH) |
194 ash::Shell::GetInstance()->magnification_controller()->SetEnabled(enabled); | 198 ash::Shell::GetInstance()->magnification_controller()->SetEnabled( |
199 type == MagnifierFull); | |
200 ash::Shell::GetInstance()->partial_magnification_controller()->SetEnabled( | |
201 type == MagnifierPartial); | |
195 #endif | 202 #endif |
196 } | 203 } |
197 | 204 |
198 void EnableVirtualKeyboard(bool enabled) { | 205 void EnableVirtualKeyboard(bool enabled) { |
199 PrefService* pref_service = g_browser_process->local_state(); | 206 PrefService* pref_service = g_browser_process->local_state(); |
200 pref_service->SetBoolean(prefs::kVirtualKeyboardEnabled, enabled); | 207 pref_service->SetBoolean(prefs::kVirtualKeyboardEnabled, enabled); |
201 pref_service->CommitPendingWrite(); | 208 pref_service->CommitPendingWrite(); |
202 } | 209 } |
203 | 210 |
204 void ToggleSpokenFeedback(content::WebUI* login_web_ui) { | 211 void ToggleSpokenFeedback(content::WebUI* login_web_ui) { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
237 bool IsHighContrastEnabled() { | 244 bool IsHighContrastEnabled() { |
238 if (!g_browser_process) { | 245 if (!g_browser_process) { |
239 return false; | 246 return false; |
240 } | 247 } |
241 PrefService* prefs = g_browser_process->local_state(); | 248 PrefService* prefs = g_browser_process->local_state(); |
242 bool high_contrast_enabled = prefs && | 249 bool high_contrast_enabled = prefs && |
243 prefs->GetBoolean(prefs::kHighContrastEnabled); | 250 prefs->GetBoolean(prefs::kHighContrastEnabled); |
244 return high_contrast_enabled; | 251 return high_contrast_enabled; |
245 } | 252 } |
246 | 253 |
247 bool IsScreenMagnifierEnabled() { | 254 ScreenMagnifierType GetScreenMagnifierType() { |
248 if (!g_browser_process) { | 255 if (!g_browser_process) |
249 return false; | 256 return MagnifierNone; |
250 } | 257 |
251 PrefService* prefs = g_browser_process->local_state(); | 258 PrefService* prefs = g_browser_process->local_state(); |
252 bool enabled = prefs && prefs->GetBoolean(prefs::kScreenMagnifierEnabled); | 259 if (!prefs) |
253 return enabled; | 260 return MagnifierNone; |
261 | |
262 if (prefs->GetBoolean(prefs::kScreenMagnifierEnabled)) | |
263 return MagnifierFull; | |
264 else if (prefs->GetBoolean(prefs::kPartialScreenMagnifierEnabled)) | |
265 return MagnifierPartial; | |
266 else | |
267 return MagnifierNone; | |
254 } | 268 } |
255 | 269 |
256 void MaybeSpeak(const std::string& utterance) { | 270 void MaybeSpeak(const std::string& utterance) { |
257 if (IsSpokenFeedbackEnabled()) | 271 if (IsSpokenFeedbackEnabled()) |
258 Speak(utterance); | 272 Speak(utterance); |
259 } | 273 } |
260 | 274 |
261 } // namespace accessibility | 275 } // namespace accessibility |
262 } // namespace chromeos | 276 } // namespace chromeos |
OLD | NEW |