diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-08 00:41:30 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-08 00:41:30 +0000 |
commit | 1e2917814446b821d4c326282d819ddd318ff175 (patch) | |
tree | 636cb3f1f97addf90ca31f90e9b5385fd9e3cba6 /chrome/browser/renderer_host/audio_renderer_host.cc | |
parent | f9e3c52fb5feba4c279dbbbec049aff0b45b3955 (diff) | |
download | chromium_src-1e2917814446b821d4c326282d819ddd318ff175.zip chromium_src-1e2917814446b821d4c326282d819ddd318ff175.tar.gz chromium_src-1e2917814446b821d4c326282d819ddd318ff175.tar.bz2 |
Fix instances of passing raw pointers to RefCounted objects in tasks.
Some of these manually handled it correctly by using AddRef()/Release() pairs. I switched them to make_scoped_refptr() to be more consistent. This also makes them cleanup properly on MessageLoop shutdown if we start deleting tasks.
BUG=28083
TEST=builds
Review URL: http://codereview.chromium.org/3581008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61899 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/audio_renderer_host.cc')
-rw-r--r-- | chrome/browser/renderer_host/audio_renderer_host.cc | 45 |
1 files changed, 30 insertions, 15 deletions
diff --git a/chrome/browser/renderer_host/audio_renderer_host.cc b/chrome/browser/renderer_host/audio_renderer_host.cc index 96b4999..efe0d95 100644 --- a/chrome/browser/renderer_host/audio_renderer_host.cc +++ b/chrome/browser/renderer_host/audio_renderer_host.cc @@ -121,39 +121,54 @@ void AudioRendererHost::IPCChannelClosing() { // media::AudioOutputController::EventHandler implementations. void AudioRendererHost::OnCreated(media::AudioOutputController* controller) { ChromeThread::PostTask( - ChromeThread::IO, FROM_HERE, - NewRunnableMethod(this, &AudioRendererHost::DoCompleteCreation, - controller)); + ChromeThread::IO, + FROM_HERE, + NewRunnableMethod( + this, + &AudioRendererHost::DoCompleteCreation, + make_scoped_refptr(controller))); } void AudioRendererHost::OnPlaying(media::AudioOutputController* controller) { ChromeThread::PostTask( - ChromeThread::IO, FROM_HERE, - NewRunnableMethod(this, &AudioRendererHost::DoSendPlayingMessage, - controller)); + ChromeThread::IO, + FROM_HERE, + NewRunnableMethod( + this, + &AudioRendererHost::DoSendPlayingMessage, + make_scoped_refptr(controller))); } void AudioRendererHost::OnPaused(media::AudioOutputController* controller) { ChromeThread::PostTask( - ChromeThread::IO, FROM_HERE, - NewRunnableMethod(this, &AudioRendererHost::DoSendPausedMessage, - controller)); + ChromeThread::IO, + FROM_HERE, + NewRunnableMethod( + this, + &AudioRendererHost::DoSendPausedMessage, + make_scoped_refptr(controller))); } void AudioRendererHost::OnError(media::AudioOutputController* controller, int error_code) { ChromeThread::PostTask( - ChromeThread::IO, FROM_HERE, - NewRunnableMethod(this, &AudioRendererHost::DoHandleError, - controller, error_code)); + ChromeThread::IO, + FROM_HERE, + NewRunnableMethod(this, + &AudioRendererHost::DoHandleError, + make_scoped_refptr(controller), + error_code)); } void AudioRendererHost::OnMoreData(media::AudioOutputController* controller, AudioBuffersState buffers_state) { ChromeThread::PostTask( - ChromeThread::IO, FROM_HERE, - NewRunnableMethod(this, &AudioRendererHost::DoRequestMoreData, - controller, buffers_state)); + ChromeThread::IO, + FROM_HERE, + NewRunnableMethod(this, + &AudioRendererHost::DoRequestMoreData, + make_scoped_refptr(controller), + buffers_state)); } void AudioRendererHost::DoCompleteCreation( |