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 d50e911da3fc5f85328eb0380f668948d0868d36..4fbe744f9ed6107059a7e939849d212164e33269 100644 |
--- a/content/renderer/media/crypto/ppapi_decryptor.cc |
+++ b/content/renderer/media/crypto/ppapi_decryptor.cc |
@@ -24,8 +24,6 @@ namespace content { |
scoped_ptr<PpapiDecryptor> PpapiDecryptor::Create( |
const std::string& key_system, |
- bool allow_distinctive_identifier, |
- bool allow_persistent_state, |
const GURL& security_origin, |
const CreatePepperCdmCB& create_pepper_cdm_cb, |
const media::SessionMessageCB& session_message_cb, |
@@ -43,16 +41,12 @@ scoped_ptr<PpapiDecryptor> PpapiDecryptor::Create( |
} |
return scoped_ptr<PpapiDecryptor>(new PpapiDecryptor( |
- key_system, allow_distinctive_identifier, allow_persistent_state, |
pepper_cdm_wrapper.Pass(), session_message_cb, session_closed_cb, |
legacy_session_error_cb, session_keys_change_cb, |
session_expiration_update_cb)); |
} |
PpapiDecryptor::PpapiDecryptor( |
- const std::string& key_system, |
- bool allow_distinctive_identifier, |
- bool allow_persistent_state, |
scoped_ptr<PepperCdmWrapper> pepper_cdm_wrapper, |
const media::SessionMessageCB& session_message_cb, |
const media::SessionClosedCB& session_closed_cb, |
@@ -73,7 +67,17 @@ PpapiDecryptor::PpapiDecryptor( |
DCHECK(!legacy_session_error_cb_.is_null()); |
DCHECK(!session_keys_change_cb.is_null()); |
DCHECK(!session_expiration_update_cb.is_null()); |
+} |
+PpapiDecryptor::~PpapiDecryptor() { |
+ pepper_cdm_wrapper_.reset(); |
+} |
+ |
+void PpapiDecryptor::InitializeCdm( |
+ const std::string& key_system, |
+ bool allow_distinctive_identifier, |
+ bool allow_persistent_state, |
+ scoped_ptr<media::SimpleCdmPromise> promise) { |
base::WeakPtr<PpapiDecryptor> weak_this = weak_ptr_factory_.GetWeakPtr(); |
CdmDelegate()->Initialize( |
key_system, allow_distinctive_identifier, allow_persistent_state, |
@@ -82,11 +86,8 @@ PpapiDecryptor::PpapiDecryptor( |
base::Bind(&PpapiDecryptor::OnLegacySessionError, weak_this), |
base::Bind(&PpapiDecryptor::OnSessionKeysChange, weak_this), |
base::Bind(&PpapiDecryptor::OnSessionExpirationUpdate, weak_this), |
- base::Bind(&PpapiDecryptor::OnFatalPluginError, weak_this)); |
-} |
- |
-PpapiDecryptor::~PpapiDecryptor() { |
- pepper_cdm_wrapper_.reset(); |
+ base::Bind(&PpapiDecryptor::OnFatalPluginError, weak_this), |
+ promise.Pass()); |
} |
void PpapiDecryptor::SetServerCertificate( |