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

Unified Diff: content/renderer/media/crypto/ppapi_decryptor.cc

Issue 193303002: WeakPtr destruction order cleanup: media edition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 6 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
« no previous file with comments | « content/renderer/media/crypto/ppapi_decryptor.h ('k') | content/renderer/media/crypto/proxy_decryptor.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/media/crypto/ppapi_decryptor.cc
diff --git a/content/renderer/media/crypto/ppapi_decryptor.cc b/content/renderer/media/crypto/ppapi_decryptor.cc
index b4e8b079e41d0efcd56b3fe125fa945dd1956337..4ac3cd88ca42bfa6c090dfcc79cb54b8b6a3e003 100644
--- a/content/renderer/media/crypto/ppapi_decryptor.cc
+++ b/content/renderer/media/crypto/ppapi_decryptor.cc
@@ -73,16 +73,15 @@ PpapiDecryptor::PpapiDecryptor(
DCHECK(!session_closed_cb_.is_null());
DCHECK(!session_error_cb_.is_null());
- weak_this_ = weak_ptr_factory_.GetWeakPtr();
-
+ base::WeakPtr<PpapiDecryptor> weak_this = weak_ptr_factory_.GetWeakPtr();
CdmDelegate()->Initialize(
key_system,
- base::Bind(&PpapiDecryptor::OnSessionCreated, weak_this_),
- base::Bind(&PpapiDecryptor::OnSessionMessage, weak_this_),
- base::Bind(&PpapiDecryptor::OnSessionReady, weak_this_),
- base::Bind(&PpapiDecryptor::OnSessionClosed, weak_this_),
- base::Bind(&PpapiDecryptor::OnSessionError, weak_this_),
- base::Bind(&PpapiDecryptor::OnFatalPluginError, weak_this_));
+ base::Bind(&PpapiDecryptor::OnSessionCreated, weak_this),
+ base::Bind(&PpapiDecryptor::OnSessionMessage, weak_this),
+ base::Bind(&PpapiDecryptor::OnSessionReady, weak_this),
+ base::Bind(&PpapiDecryptor::OnSessionClosed, weak_this),
+ base::Bind(&PpapiDecryptor::OnSessionError, weak_this),
+ base::Bind(&PpapiDecryptor::OnFatalPluginError, weak_this));
}
PpapiDecryptor::~PpapiDecryptor() {
@@ -149,9 +148,11 @@ media::Decryptor* PpapiDecryptor::GetDecryptor() {
void PpapiDecryptor::RegisterNewKeyCB(StreamType stream_type,
const NewKeyCB& new_key_cb) {
if (!render_loop_proxy_->BelongsToCurrentThread()) {
- render_loop_proxy_->PostTask(FROM_HERE, base::Bind(
- &PpapiDecryptor::RegisterNewKeyCB, weak_this_, stream_type,
- new_key_cb));
+ render_loop_proxy_->PostTask(FROM_HERE,
+ base::Bind(&PpapiDecryptor::RegisterNewKeyCB,
+ weak_ptr_factory_.GetWeakPtr(),
+ stream_type,
+ new_key_cb));
return;
}
@@ -173,9 +174,12 @@ void PpapiDecryptor::Decrypt(
const scoped_refptr<media::DecoderBuffer>& encrypted,
const DecryptCB& decrypt_cb) {
if (!render_loop_proxy_->BelongsToCurrentThread()) {
- render_loop_proxy_->PostTask(FROM_HERE, base::Bind(
- &PpapiDecryptor::Decrypt, weak_this_,
- stream_type, encrypted, decrypt_cb));
+ render_loop_proxy_->PostTask(FROM_HERE,
+ base::Bind(&PpapiDecryptor::Decrypt,
+ weak_ptr_factory_.GetWeakPtr(),
+ stream_type,
+ encrypted,
+ decrypt_cb));
return;
}
@@ -188,8 +192,10 @@ void PpapiDecryptor::Decrypt(
void PpapiDecryptor::CancelDecrypt(StreamType stream_type) {
if (!render_loop_proxy_->BelongsToCurrentThread()) {
- render_loop_proxy_->PostTask(FROM_HERE, base::Bind(
- &PpapiDecryptor::CancelDecrypt, weak_this_, stream_type));
+ render_loop_proxy_->PostTask(FROM_HERE,
+ base::Bind(&PpapiDecryptor::CancelDecrypt,
+ weak_ptr_factory_.GetWeakPtr(),
+ stream_type));
return;
}
@@ -202,8 +208,12 @@ void PpapiDecryptor::InitializeAudioDecoder(
const media::AudioDecoderConfig& config,
const DecoderInitCB& init_cb) {
if (!render_loop_proxy_->BelongsToCurrentThread()) {
- render_loop_proxy_->PostTask(FROM_HERE, base::Bind(
- &PpapiDecryptor::InitializeAudioDecoder, weak_this_, config, init_cb));
+ render_loop_proxy_->PostTask(
+ FROM_HERE,
+ base::Bind(&PpapiDecryptor::InitializeAudioDecoder,
+ weak_ptr_factory_.GetWeakPtr(),
+ config,
+ init_cb));
return;
}
@@ -212,11 +222,11 @@ void PpapiDecryptor::InitializeAudioDecoder(
DCHECK(config.IsValidConfig());
audio_decoder_init_cb_ = init_cb;
- if (!CdmDelegate() ||
- !CdmDelegate()->InitializeAudioDecoder(
- config,
- base::Bind(
- &PpapiDecryptor::OnDecoderInitialized, weak_this_, kAudio))) {
+ if (!CdmDelegate() || !CdmDelegate()->InitializeAudioDecoder(
+ config,
+ base::Bind(&PpapiDecryptor::OnDecoderInitialized,
+ weak_ptr_factory_.GetWeakPtr(),
+ kAudio))) {
base::ResetAndReturn(&audio_decoder_init_cb_).Run(false);
return;
}
@@ -226,8 +236,12 @@ void PpapiDecryptor::InitializeVideoDecoder(
const media::VideoDecoderConfig& config,
const DecoderInitCB& init_cb) {
if (!render_loop_proxy_->BelongsToCurrentThread()) {
- render_loop_proxy_->PostTask(FROM_HERE, base::Bind(
- &PpapiDecryptor::InitializeVideoDecoder, weak_this_, config, init_cb));
+ render_loop_proxy_->PostTask(
+ FROM_HERE,
+ base::Bind(&PpapiDecryptor::InitializeVideoDecoder,
+ weak_ptr_factory_.GetWeakPtr(),
+ config,
+ init_cb));
return;
}
@@ -236,11 +250,11 @@ void PpapiDecryptor::InitializeVideoDecoder(
DCHECK(config.IsValidConfig());
video_decoder_init_cb_ = init_cb;
- if (!CdmDelegate() ||
- !CdmDelegate()->InitializeVideoDecoder(
- config,
- base::Bind(
- &PpapiDecryptor::OnDecoderInitialized, weak_this_, kVideo))) {
+ if (!CdmDelegate() || !CdmDelegate()->InitializeVideoDecoder(
+ config,
+ base::Bind(&PpapiDecryptor::OnDecoderInitialized,
+ weak_ptr_factory_.GetWeakPtr(),
+ kVideo))) {
base::ResetAndReturn(&video_decoder_init_cb_).Run(false);
return;
}
@@ -250,9 +264,12 @@ void PpapiDecryptor::DecryptAndDecodeAudio(
const scoped_refptr<media::DecoderBuffer>& encrypted,
const AudioDecodeCB& audio_decode_cb) {
if (!render_loop_proxy_->BelongsToCurrentThread()) {
- render_loop_proxy_->PostTask(FROM_HERE, base::Bind(
- &PpapiDecryptor::DecryptAndDecodeAudio, weak_this_,
- encrypted, audio_decode_cb));
+ render_loop_proxy_->PostTask(
+ FROM_HERE,
+ base::Bind(&PpapiDecryptor::DecryptAndDecodeAudio,
+ weak_ptr_factory_.GetWeakPtr(),
+ encrypted,
+ audio_decode_cb));
return;
}
@@ -267,9 +284,12 @@ void PpapiDecryptor::DecryptAndDecodeVideo(
const scoped_refptr<media::DecoderBuffer>& encrypted,
const VideoDecodeCB& video_decode_cb) {
if (!render_loop_proxy_->BelongsToCurrentThread()) {
- render_loop_proxy_->PostTask(FROM_HERE, base::Bind(
- &PpapiDecryptor::DecryptAndDecodeVideo, weak_this_,
- encrypted, video_decode_cb));
+ render_loop_proxy_->PostTask(
+ FROM_HERE,
+ base::Bind(&PpapiDecryptor::DecryptAndDecodeVideo,
+ weak_ptr_factory_.GetWeakPtr(),
+ encrypted,
+ video_decode_cb));
return;
}
@@ -282,8 +302,10 @@ void PpapiDecryptor::DecryptAndDecodeVideo(
void PpapiDecryptor::ResetDecoder(StreamType stream_type) {
if (!render_loop_proxy_->BelongsToCurrentThread()) {
- render_loop_proxy_->PostTask(FROM_HERE, base::Bind(
- &PpapiDecryptor::ResetDecoder, weak_this_, stream_type));
+ render_loop_proxy_->PostTask(FROM_HERE,
+ base::Bind(&PpapiDecryptor::ResetDecoder,
+ weak_ptr_factory_.GetWeakPtr(),
+ stream_type));
return;
}
@@ -294,8 +316,11 @@ void PpapiDecryptor::ResetDecoder(StreamType stream_type) {
void PpapiDecryptor::DeinitializeDecoder(StreamType stream_type) {
if (!render_loop_proxy_->BelongsToCurrentThread()) {
- render_loop_proxy_->PostTask(FROM_HERE, base::Bind(
- &PpapiDecryptor::DeinitializeDecoder, weak_this_, stream_type));
+ render_loop_proxy_->PostTask(
+ FROM_HERE,
+ base::Bind(&PpapiDecryptor::DeinitializeDecoder,
+ weak_ptr_factory_.GetWeakPtr(),
+ stream_type));
return;
}
« no previous file with comments | « content/renderer/media/crypto/ppapi_decryptor.h ('k') | content/renderer/media/crypto/proxy_decryptor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698