namespace {
SoundsManager* g_instance = NULL;
+bool g_initialized_for_testing = false;
// SoundsManagerImpl ---------------------------------------------------
// 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)
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