summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/audio_renderer_host.cc
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-08 00:41:30 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-08 00:41:30 +0000
commit1e2917814446b821d4c326282d819ddd318ff175 (patch)
tree636cb3f1f97addf90ca31f90e9b5385fd9e3cba6 /chrome/browser/renderer_host/audio_renderer_host.cc
parentf9e3c52fb5feba4c279dbbbec049aff0b45b3955 (diff)
downloadchromium_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.cc45
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(