OLD | NEW |
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 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" | 5 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "base/strings/string_util.h" | 32 #include "base/strings/string_util.h" |
33 #include "base/time/time.h" | 33 #include "base/time/time.h" |
34 #include "base/values.h" | 34 #include "base/values.h" |
35 #include "chrome/browser/accessibility/accessibility_extension_api.h" | 35 #include "chrome/browser/accessibility/accessibility_extension_api.h" |
36 #include "chrome/browser/browser_process.h" | 36 #include "chrome/browser/browser_process.h" |
37 #include "chrome/browser/chrome_notification_types.h" | 37 #include "chrome/browser/chrome_notification_types.h" |
38 #include "chrome/browser/chromeos/accessibility/accessibility_extension_loader.h
" | 38 #include "chrome/browser/chromeos/accessibility/accessibility_extension_loader.h
" |
39 #include "chrome/browser/chromeos/accessibility/accessibility_highlight_manager.
h" | 39 #include "chrome/browser/chromeos/accessibility/accessibility_highlight_manager.
h" |
40 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" | 40 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" |
41 #include "chrome/browser/chromeos/accessibility/select_to_speak_event_handler.h" | 41 #include "chrome/browser/chromeos/accessibility/select_to_speak_event_handler.h" |
| 42 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
| 43 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
42 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 44 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
43 #include "chrome/browser/chromeos/ui/accessibility_focus_ring_controller.h" | 45 #include "chrome/browser/chromeos/ui/accessibility_focus_ring_controller.h" |
44 #include "chrome/browser/extensions/api/braille_display_private/stub_braille_con
troller.h" | 46 #include "chrome/browser/extensions/api/braille_display_private/stub_braille_con
troller.h" |
45 #include "chrome/browser/extensions/extension_service.h" | 47 #include "chrome/browser/extensions/extension_service.h" |
46 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 48 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
47 #include "chrome/browser/profiles/profile.h" | 49 #include "chrome/browser/profiles/profile.h" |
48 #include "chrome/browser/profiles/profile_manager.h" | 50 #include "chrome/browser/profiles/profile_manager.h" |
49 #include "chrome/browser/ui/ash/ash_util.h" | 51 #include "chrome/browser/ui/ash/ash_util.h" |
50 #include "chrome/common/chrome_paths.h" | 52 #include "chrome/common/chrome_paths.h" |
51 #include "chrome/common/extensions/api/accessibility_private.h" | 53 #include "chrome/common/extensions/api/accessibility_private.h" |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 bundle.GetRawDataResource(IDR_SOUND_SPOKEN_FEEDBACK_ENABLED_WAV)); | 291 bundle.GetRawDataResource(IDR_SOUND_SPOKEN_FEEDBACK_ENABLED_WAV)); |
290 manager->Initialize( | 292 manager->Initialize( |
291 SOUND_SPOKEN_FEEDBACK_DISABLED, | 293 SOUND_SPOKEN_FEEDBACK_DISABLED, |
292 bundle.GetRawDataResource(IDR_SOUND_SPOKEN_FEEDBACK_DISABLED_WAV)); | 294 bundle.GetRawDataResource(IDR_SOUND_SPOKEN_FEEDBACK_DISABLED_WAV)); |
293 manager->Initialize(SOUND_PASSTHROUGH, | 295 manager->Initialize(SOUND_PASSTHROUGH, |
294 bundle.GetRawDataResource(IDR_SOUND_PASSTHROUGH_WAV)); | 296 bundle.GetRawDataResource(IDR_SOUND_PASSTHROUGH_WAV)); |
295 manager->Initialize(SOUND_EXIT_SCREEN, | 297 manager->Initialize(SOUND_EXIT_SCREEN, |
296 bundle.GetRawDataResource(IDR_SOUND_EXIT_SCREEN_WAV)); | 298 bundle.GetRawDataResource(IDR_SOUND_EXIT_SCREEN_WAV)); |
297 manager->Initialize(SOUND_ENTER_SCREEN, | 299 manager->Initialize(SOUND_ENTER_SCREEN, |
298 bundle.GetRawDataResource(IDR_SOUND_ENTER_SCREEN_WAV)); | 300 bundle.GetRawDataResource(IDR_SOUND_ENTER_SCREEN_WAV)); |
| 301 manager->Initialize(SOUND_SPOKEN_FEEDBACK_TOGGLE_COUNTDOWN_HIGH, |
| 302 bundle.GetRawDataResource( |
| 303 IDR_SOUND_SPOKEN_FEEDBACK_TOGGLE_COUNTDOWN_HIGH_WAV)); |
| 304 manager->Initialize(SOUND_SPOKEN_FEEDBACK_TOGGLE_COUNTDOWN_LOW, |
| 305 bundle.GetRawDataResource( |
| 306 IDR_SOUND_SPOKEN_FEEDBACK_TOGGLE_COUNTDOWN_LOW_WAV)); |
299 | 307 |
300 base::FilePath resources_path; | 308 base::FilePath resources_path; |
301 if (!PathService::Get(chrome::DIR_RESOURCES, &resources_path)) | 309 if (!PathService::Get(chrome::DIR_RESOURCES, &resources_path)) |
302 NOTREACHED(); | 310 NOTREACHED(); |
303 chromevox_loader_ = base::WrapUnique(new AccessibilityExtensionLoader( | 311 chromevox_loader_ = base::WrapUnique(new AccessibilityExtensionLoader( |
304 extension_misc::kChromeVoxExtensionId, | 312 extension_misc::kChromeVoxExtensionId, |
305 resources_path.Append(extension_misc::kChromeVoxExtensionPath), | 313 resources_path.Append(extension_misc::kChromeVoxExtensionPath), |
306 base::Bind(&AccessibilityManager::PostUnloadChromeVox, | 314 base::Bind(&AccessibilityManager::PostUnloadChromeVox, |
307 weak_ptr_factory_.GetWeakPtr()))); | 315 weak_ptr_factory_.GetWeakPtr()))); |
308 select_to_speak_loader_ = base::WrapUnique(new AccessibilityExtensionLoader( | 316 select_to_speak_loader_ = base::WrapUnique(new AccessibilityExtensionLoader( |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
545 base::CommandLine* cl = base::CommandLine::ForCurrentProcess(); | 553 base::CommandLine* cl = base::CommandLine::ForCurrentProcess(); |
546 if (cl->HasSwitch(kAshDisableSystemSounds)) | 554 if (cl->HasSwitch(kAshDisableSystemSounds)) |
547 return false; | 555 return false; |
548 if (option == PlaySoundOption::SPOKEN_FEEDBACK_ENABLED && | 556 if (option == PlaySoundOption::SPOKEN_FEEDBACK_ENABLED && |
549 !IsSpokenFeedbackEnabled() && !cl->HasSwitch(kAshEnableSystemSounds)) { | 557 !IsSpokenFeedbackEnabled() && !cl->HasSwitch(kAshEnableSystemSounds)) { |
550 return false; | 558 return false; |
551 } | 559 } |
552 return media::SoundsManager::Get()->Play(sound_key); | 560 return media::SoundsManager::Get()->Play(sound_key); |
553 } | 561 } |
554 | 562 |
| 563 bool AccessibilityManager::ShouldToggleSpokenFeedbackViaTouch() { |
| 564 policy::BrowserPolicyConnectorChromeOS* connector = |
| 565 g_browser_process->platform_part()->browser_policy_connector_chromeos(); |
| 566 if (!connector) |
| 567 return false; |
| 568 |
| 569 if (!connector->IsEnterpriseManaged()) |
| 570 return false; |
| 571 |
| 572 const policy::DeviceCloudPolicyManagerChromeOS* const |
| 573 device_cloud_policy_manager = connector->GetDeviceCloudPolicyManager(); |
| 574 if (!device_cloud_policy_manager) |
| 575 return false; |
| 576 |
| 577 if (!device_cloud_policy_manager->IsRemoraRequisition()) |
| 578 return false; |
| 579 |
| 580 KioskAppManager* manager = KioskAppManager::Get(); |
| 581 KioskAppManager::App app; |
| 582 CHECK(manager->GetApp(manager->GetAutoLaunchApp(), &app)); |
| 583 return app.was_auto_launched_with_zero_delay; |
| 584 } |
| 585 |
| 586 bool AccessibilityManager::PlaySpokenFeedbackToggleCountdown(int tick_count) { |
| 587 return media::SoundsManager::Get()->Play( |
| 588 tick_count % 2 ? SOUND_SPOKEN_FEEDBACK_TOGGLE_COUNTDOWN_HIGH |
| 589 : SOUND_SPOKEN_FEEDBACK_TOGGLE_COUNTDOWN_LOW); |
| 590 } |
| 591 |
555 void AccessibilityManager::HandleAccessibilityGesture(ui::AXGesture gesture) { | 592 void AccessibilityManager::HandleAccessibilityGesture(ui::AXGesture gesture) { |
556 extensions::EventRouter* event_router = | 593 extensions::EventRouter* event_router = |
557 extensions::EventRouter::Get(profile()); | 594 extensions::EventRouter::Get(profile()); |
558 CHECK(event_router); | 595 CHECK(event_router); |
559 | 596 |
560 std::unique_ptr<base::ListValue> event_args(new base::ListValue()); | 597 std::unique_ptr<base::ListValue> event_args(new base::ListValue()); |
561 event_args->AppendString(ui::ToString(gesture)); | 598 event_args->AppendString(ui::ToString(gesture)); |
562 std::unique_ptr<extensions::Event> event(new extensions::Event( | 599 std::unique_ptr<extensions::Event> event(new extensions::Event( |
563 extensions::events::ACCESSIBILITY_PRIVATE_ON_ACCESSIBILITY_GESTURE, | 600 extensions::events::ACCESSIBILITY_PRIVATE_ON_ACCESSIBILITY_GESTURE, |
564 extensions::api::accessibility_private::OnAccessibilityGesture:: | 601 extensions::api::accessibility_private::OnAccessibilityGesture:: |
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1361 content::BrowserContext* context) { | 1398 content::BrowserContext* context) { |
1362 keyboard_listener_extension_id_ = id; | 1399 keyboard_listener_extension_id_ = id; |
1363 | 1400 |
1364 extensions::ExtensionRegistry* registry = | 1401 extensions::ExtensionRegistry* registry = |
1365 extensions::ExtensionRegistry::Get(context); | 1402 extensions::ExtensionRegistry::Get(context); |
1366 if (!extension_registry_observer_.IsObserving(registry) && !id.empty()) | 1403 if (!extension_registry_observer_.IsObserving(registry) && !id.empty()) |
1367 extension_registry_observer_.Add(registry); | 1404 extension_registry_observer_.Add(registry); |
1368 } | 1405 } |
1369 | 1406 |
1370 } // namespace chromeos | 1407 } // namespace chromeos |
OLD | NEW |