| 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;
|
| }
|
|
|
|
|