Index: chrome/browser/extensions/api/audio/audio_service_linux.cc |
diff --git a/chrome/browser/extensions/api/audio/audio_service_linux.cc b/chrome/browser/extensions/api/audio/audio_service_linux.cc |
index b0bd3e6147b4c91fa801febbcfaa9851e1d8f247..a5922649bebb8d5786ed66347208c7e954c53805 100644 |
--- a/chrome/browser/extensions/api/audio/audio_service_linux.cc |
+++ b/chrome/browser/extensions/api/audio/audio_service_linux.cc |
@@ -8,6 +8,7 @@ |
#include "base/memory/weak_ptr.h" |
#include "base/observer_list.h" |
#include "base/strings/string_number_conversions.h" |
+#include "base/threading/thread_checker.h" |
#include "content/public/browser/browser_thread.h" |
using content::BrowserThread; |
@@ -22,6 +23,7 @@ class AudioServiceImpl : public AudioService { |
AudioServiceImpl(); |
virtual ~AudioServiceImpl(); |
+ private: |
// Called by listeners to this service to add/remove themselves as observers. |
virtual void AddObserver(AudioService::Observer* observer) OVERRIDE; |
virtual void RemoveObserver(AudioService::Observer* observer) OVERRIDE; |
@@ -37,6 +39,8 @@ class AudioServiceImpl : public AudioService { |
// List of observers. |
ObserverList<AudioService::Observer> observer_list_; |
+ base::ThreadChecker thread_checker_; |
+ |
// Note: This should remain the last member so it'll be destroyed and |
// invalidate the weak pointers before any other members are destroyed. |
base::WeakPtrFactory<AudioServiceImpl> weak_ptr_factory_; |
@@ -45,38 +49,38 @@ class AudioServiceImpl : public AudioService { |
}; |
AudioServiceImpl::AudioServiceImpl() : weak_ptr_factory_(this) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
} |
AudioServiceImpl::~AudioServiceImpl() { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
} |
void AudioServiceImpl::AddObserver(AudioService::Observer* observer) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
observer_list_.AddObserver(observer); |
} |
void AudioServiceImpl::RemoveObserver(AudioService::Observer* observer) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
observer_list_.RemoveObserver(observer); |
} |
void AudioServiceImpl::StartGetInfo(const GetInfoCallback& callback) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
if (!callback.is_null()) |
callback.Run(OutputInfo(), InputInfo(), false); |
} |
void AudioServiceImpl::SetActiveDevices(const DeviceIdList& device_list) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
} |
bool AudioServiceImpl::SetDeviceProperties(const std::string& device_id, |
bool muted, |
int volume, |
int gain) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
return false; |
} |