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

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

Issue 2584063002: Re-land: Toggle spoken feedback if two fingers are held down. (Closed)
Patch Set: Only toggle spoken feedback on CFM devices Created 4 years 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 #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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698