summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorygorshenin@chromium.org <ygorshenin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-11 19:42:45 +0000
committerygorshenin@chromium.org <ygorshenin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-11 19:42:45 +0000
commit300187dbb471bbca8002a5733f7c74a2316ec60a (patch)
treec5056602d5bcd163cfe1f479b625adee27aecaad /media
parent44c6ee0be3265e9bee8e68cf394a2a292bdbdf5a (diff)
downloadchromium_src-300187dbb471bbca8002a5733f7c74a2316ec60a.zip
chromium_src-300187dbb471bbca8002a5733f7c74a2316ec60a.tar.gz
chromium_src-300187dbb471bbca8002a5733f7c74a2316ec60a.tar.bz2
Enabled by default system's volume adjust sound.
BUG=225886, 313067 TEST=browser_tests:VolumeControllerSoundsTest.* Review URL: https://codereview.chromium.org/148963008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250472 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r--media/audio/sounds/sounds_manager.cc15
-rw-r--r--media/audio/sounds/sounds_manager.h4
2 files changed, 18 insertions, 1 deletions
diff --git a/media/audio/sounds/sounds_manager.cc b/media/audio/sounds/sounds_manager.cc
index df18a95..bc86c96 100644
--- a/media/audio/sounds/sounds_manager.cc
+++ b/media/audio/sounds/sounds_manager.cc
@@ -19,6 +19,7 @@ namespace media {
namespace {
SoundsManager* g_instance = NULL;
+bool g_initialized_for_testing = false;
// SoundsManagerImpl ---------------------------------------------------
@@ -123,7 +124,11 @@ SoundsManager::~SoundsManager() { DCHECK(CalledOnValidThread()); }
// static
void SoundsManager::Create() {
- CHECK(!g_instance) << "SoundsManager::Create() is called twice";
+ CHECK(!g_instance || g_initialized_for_testing)
+ << "SoundsManager::Create() is called twice";
+ if (g_initialized_for_testing)
+ return;
+
const bool enabled = !CommandLine::ForCurrentProcess()->HasSwitch(
::switches::kDisableSystemSoundsManager);
if (enabled)
@@ -146,4 +151,12 @@ SoundsManager* SoundsManager::Get() {
return g_instance;
}
+// static
+void SoundsManager::InitializeForTesting(SoundsManager* manager) {
+ CHECK(!g_instance) << "SoundsManager is already initialized.";
+ CHECK(manager);
+ g_instance = manager;
+ g_initialized_for_testing = true;
+}
+
} // namespace media
diff --git a/media/audio/sounds/sounds_manager.h b/media/audio/sounds/sounds_manager.h
index 7ff6aaf..71184da 100644
--- a/media/audio/sounds/sounds_manager.h
+++ b/media/audio/sounds/sounds_manager.h
@@ -29,6 +29,10 @@ class MEDIA_EXPORT SoundsManager : public base::NonThreadSafe {
// Returns a pointer to a singleton instance of the SoundsManager.
static SoundsManager* Get();
+ // Initializes sounds manager for testing. The |manager| will be owned
+ // by the internal pointer and will be deleted by Shutdown().
+ static void InitializeForTesting(SoundsManager* manager);
+
// Initializes SoundsManager with the wav data for the system
// sounds. Returns true if SoundsManager was successfully
// initialized.