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

Unified Diff: media/audio/audio_system_impl_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_system_impl_unittest.cc
diff --git a/media/audio/audio_system_impl_unittest.cc b/media/audio/audio_system_impl_unittest.cc
index 26f19873b429029da9ed76986fd47464ee278d3b..a5f147dcb3ac25817d77f2c55195bfc35ead2ab8 100644
--- a/media/audio/audio_system_impl_unittest.cc
+++ b/media/audio/audio_system_impl_unittest.cc
@@ -78,11 +78,12 @@ class AudioSystemImplTest : public testing::TestWithParam<bool> {
}
~AudioSystemImplTest() override {
- // Deleting |audio_manager_| on its thread.
audio_system_.reset();
EXPECT_EQ(AudioSystem::Get(), nullptr);
- audio_manager_.reset();
- audio_thread_.Stop();
+
+ audio_manager_->GetTaskRunner()->PostTask(
+ FROM_HERE, base::Bind(&media::AudioManager::Shutdown,
+ base::Unretained(audio_manager_.get())));
}
void OnAudioParams(const AudioParameters& expected,
@@ -130,9 +131,9 @@ class AudioSystemImplTest : public testing::TestWithParam<bool> {
base::MessageLoop message_loop_;
base::ThreadChecker thread_checker_;
bool use_audio_thread_;
- base::Thread audio_thread_;
- MockAudioManager::UniquePtr audio_manager_;
+ std::unique_ptr<media::MockAudioManager> audio_manager_;
std::unique_ptr<media::AudioSystem> audio_system_;
+ base::Thread audio_thread_;
AudioParameters input_params_;
AudioParameters output_params_;
AudioParameters default_output_params_;

Powered by Google App Engine
This is Rietveld 408576698