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

Unified Diff: media/audio/audio_manager_unittest.cc

Issue 2784433002: Ensures that audio tasks cannot run after AudioManager is deleted. (Closed)
Patch Set: fixes content_browsertests and content_unittests Created 3 years, 9 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: media/audio/audio_manager_unittest.cc
diff --git a/media/audio/audio_manager_unittest.cc b/media/audio/audio_manager_unittest.cc
index 1af0db799652111bcc706fe7001c1f253d17dbef..0119ceeaad3736f5a777b707092402c06bb9ddc5 100644
--- a/media/audio/audio_manager_unittest.cc
+++ b/media/audio/audio_manager_unittest.cc
@@ -53,31 +53,33 @@ namespace {
template <typename T>
struct TestAudioManagerFactory {
- static ScopedAudioManagerPtr Create(AudioLogFactory* audio_log_factory) {
- return ScopedAudioManagerPtr(new T(base::ThreadTaskRunnerHandle::Get(),
- base::ThreadTaskRunnerHandle::Get(),
- audio_log_factory));
+ static std::unique_ptr<AudioManager> Create(
+ AudioLogFactory* audio_log_factory) {
+ return base::MakeUnique<T>(base::ThreadTaskRunnerHandle::Get(),
+ base::ThreadTaskRunnerHandle::Get(),
+ audio_log_factory);
}
};
#if defined(USE_PULSEAUDIO)
template <>
struct TestAudioManagerFactory<AudioManagerPulse> {
- static ScopedAudioManagerPtr Create(AudioLogFactory* audio_log_factory) {
- std::unique_ptr<AudioManagerPulse, AudioManagerDeleter> manager(
- new AudioManagerPulse(base::ThreadTaskRunnerHandle::Get(),
- base::ThreadTaskRunnerHandle::Get(),
- audio_log_factory));
+ static std::unique_ptr<AudioManager> Create(
+ AudioLogFactory* audio_log_factory) {
+ auto manager = base::MakeUnique<AudioManagerPulse>(
+ base::ThreadTaskRunnerHandle::Get(),
+ base::ThreadTaskRunnerHandle::Get(), audio_log_factory);
if (!manager->Init())
manager.reset();
- return std::move(manager);
+ return manager;
}
};
#endif // defined(USE_PULSEAUDIO)
template <>
struct TestAudioManagerFactory<std::nullptr_t> {
- static ScopedAudioManagerPtr Create(AudioLogFactory* audio_log_factory) {
+ static std::unique_ptr<AudioManager> Create(
+ AudioLogFactory* audio_log_factory) {
return AudioManager::CreateForTesting(base::ThreadTaskRunnerHandle::Get());
}
};
@@ -233,7 +235,7 @@ class AudioManagerTest : public ::testing::Test {
protected:
AudioManagerTest() { CreateAudioManagerForTesting(); }
- ~AudioManagerTest() override {}
+ ~AudioManagerTest() override { audio_manager_->Shutdown(); }
// Helper method which verifies that the device list starts with a valid
// default record followed by non-default device names.
@@ -344,7 +346,7 @@ class AudioManagerTest : public ::testing::Test {
base::TestMessageLoop message_loop_;
FakeAudioLogFactory fake_audio_log_factory_;
- ScopedAudioManagerPtr audio_manager_;
+ std::unique_ptr<AudioManager> audio_manager_;
#if defined(USE_CRAS)
chromeos::CrasAudioHandler* cras_audio_handler_ = nullptr; // Not owned.

Powered by Google App Engine
This is Rietveld 408576698