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

Unified Diff: chrome/browser/chromeos/accessibility/accessibility_manager.cc

Issue 2142463002: ash: Remove media dependency from ash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: oops Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/accessibility/accessibility_manager.cc
diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager.cc b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
index b27af486841da9bf86f91ed412a893605290b84c..8dee33378a3c86e0d7c1713a8b918fa7281fa7aa 100644
--- a/chrome/browser/chromeos/accessibility/accessibility_manager.cc
+++ b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
@@ -10,7 +10,6 @@
#include <memory>
#include <utility>
-#include "ash/audio/sounds.h"
#include "ash/autoclick/autoclick_controller.h"
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/wm_shell.h"
@@ -97,6 +96,13 @@ namespace chromeos {
namespace {
+// When this flag is set, system sounds will not be played.
+const char kAshDisableSystemSounds[] = "ash-disable-system-sounds";
+
+// When this flag is set, system sounds will be played whether the
+// ChromeVox is enabled or not.
+const char kAshEnableSystemSounds[] = "ash-enable-system-sounds";
+
static chromeos::AccessibilityManager* g_accessibility_manager = NULL;
static BrailleController* g_braille_controller_for_test = NULL;
@@ -772,9 +778,16 @@ void AccessibilityManager::OnLocaleChanged() {
EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
}
-void AccessibilityManager::PlayEarcon(int sound_key) {
+bool AccessibilityManager::PlayEarcon(int sound_key, PlaySoundOption option) {
DCHECK(sound_key < chromeos::SOUND_COUNT);
- ash::PlaySystemSoundIfSpokenFeedback(sound_key);
+ base::CommandLine* cl = base::CommandLine::ForCurrentProcess();
+ if (cl->HasSwitch(kAshDisableSystemSounds))
+ return false;
+ if (option == PlaySoundOption::SPOKEN_FEEDBACK_ENABLED &&
+ !IsSpokenFeedbackEnabled() && !cl->HasSwitch(kAshEnableSystemSounds)) {
+ return false;
+ }
+ return media::SoundsManager::Get()->Play(sound_key);
}
void AccessibilityManager::HandleAccessibilityGesture(ui::AXGesture gesture) {
@@ -1305,7 +1318,7 @@ base::TimeDelta AccessibilityManager::PlayShutdownSound() {
if (!system_sounds_enabled_)
return base::TimeDelta();
system_sounds_enabled_ = false;
- if (!ash::PlaySystemSoundIfSpokenFeedback(SOUND_SHUTDOWN))
+ if (!PlayEarcon(SOUND_SHUTDOWN, PlaySoundOption::SPOKEN_FEEDBACK_ENABLED))
return base::TimeDelta();
return media::SoundsManager::Get()->GetDuration(SOUND_SHUTDOWN);
}
@@ -1467,7 +1480,7 @@ void AccessibilityManager::OnShutdown(extensions::ExtensionRegistry* registry) {
void AccessibilityManager::PostLoadChromeVox(Profile* profile) {
// Do any setup work needed immediately after ChromeVox actually loads.
- ash::PlaySystemSoundAlways(SOUND_SPOKEN_FEEDBACK_ENABLED);
+ PlayEarcon(SOUND_SPOKEN_FEEDBACK_ENABLED, PlaySoundOption::ALWAYS);
if (chrome_vox_loaded_on_lock_screen_ ||
should_speak_chrome_vox_announcements_on_user_screen_) {
@@ -1497,7 +1510,7 @@ void AccessibilityManager::PostLoadChromeVox(Profile* profile) {
void AccessibilityManager::PostUnloadChromeVox(Profile* profile) {
// Do any teardown work needed immediately after ChromeVox actually unloads.
- ash::PlaySystemSoundAlways(SOUND_SPOKEN_FEEDBACK_DISABLED);
+ PlayEarcon(SOUND_SPOKEN_FEEDBACK_DISABLED, PlaySoundOption::ALWAYS);
// Clear the accessibility focus ring.
AccessibilityFocusRingController::GetInstance()->SetFocusRing(
std::vector<gfx::Rect>(),
« no previous file with comments | « chrome/browser/chromeos/accessibility/accessibility_manager.h ('k') | chrome/browser/chromeos/login/lock/screen_locker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698