| Index: media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
|
| diff --git a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
|
| index a49b6c24595348f9c6a5f3771baa472cf3d7b440..0a12debb1e0f2bb4738d809b18da2f814ef47c8a 100644
|
| --- a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
|
| +++ b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
|
| @@ -248,12 +248,13 @@ void ClearKeyCdm::CreateSession(uint32 promise_id,
|
| DVLOG(1) << __FUNCTION__;
|
|
|
| scoped_ptr<media::NewSessionCdmPromise> promise(
|
| - new media::NewSessionCdmPromise(base::Bind(&ClearKeyCdm::OnSessionCreated,
|
| - base::Unretained(this),
|
| - promise_id),
|
| - base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| - base::Unretained(this),
|
| - promise_id)));
|
| + new media::CdmCallbackPromise<std::string>(
|
| + base::Bind(&ClearKeyCdm::OnSessionCreated,
|
| + base::Unretained(this),
|
| + promise_id),
|
| + base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| + base::Unretained(this),
|
| + promise_id)));
|
| decryptor_.CreateSession(std::string(init_data_type, init_data_type_size),
|
| init_data,
|
| init_data_size,
|
| @@ -285,12 +286,13 @@ void ClearKeyCdm::LoadSession(uint32 promise_id,
|
| }
|
|
|
| scoped_ptr<media::NewSessionCdmPromise> promise(
|
| - new media::NewSessionCdmPromise(base::Bind(&ClearKeyCdm::OnSessionLoaded,
|
| - base::Unretained(this),
|
| - promise_id),
|
| - base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| - base::Unretained(this),
|
| - promise_id)));
|
| + new media::CdmCallbackPromise<std::string>(
|
| + base::Bind(&ClearKeyCdm::OnSessionLoaded,
|
| + base::Unretained(this),
|
| + promise_id),
|
| + base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| + base::Unretained(this),
|
| + promise_id)));
|
| decryptor_.CreateSession(std::string(kLoadableSessionContentType),
|
| NULL,
|
| 0,
|
| @@ -306,13 +308,15 @@ void ClearKeyCdm::UpdateSession(uint32 promise_id,
|
| DVLOG(1) << __FUNCTION__;
|
| std::string web_session_str(web_session_id, web_session_id_length);
|
|
|
| - scoped_ptr<media::SimpleCdmPromise> promise(new media::SimpleCdmPromise(
|
| - base::Bind(&ClearKeyCdm::OnSessionUpdated,
|
| - base::Unretained(this),
|
| - promise_id,
|
| - web_session_str),
|
| - base::Bind(
|
| - &ClearKeyCdm::OnPromiseFailed, base::Unretained(this), promise_id)));
|
| + scoped_ptr<media::SimpleCdmPromise> promise(
|
| + new media::CdmCallbackPromise<void>(
|
| + base::Bind(&ClearKeyCdm::OnSessionUpdated,
|
| + base::Unretained(this),
|
| + promise_id,
|
| + web_session_str),
|
| + base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| + base::Unretained(this),
|
| + promise_id)));
|
| decryptor_.UpdateSession(
|
| web_session_str, response, response_size, promise.Pass());
|
|
|
| @@ -328,7 +332,8 @@ void ClearKeyCdm::CloseSession(uint32 promise_id,
|
| DVLOG(1) << __FUNCTION__;
|
| std::string web_session_str(web_session_id, web_session_id_length);
|
|
|
| - scoped_ptr<media::SimpleCdmPromise> promise(new media::SimpleCdmPromise(
|
| + scoped_ptr<media::SimpleCdmPromise>
|
| + promise(new media::CdmCallbackPromise<void>(
|
| base::Bind(
|
| &ClearKeyCdm::OnPromiseResolved, base::Unretained(this), promise_id),
|
| base::Bind(
|
| @@ -348,12 +353,13 @@ void ClearKeyCdm::RemoveSession(uint32 promise_id,
|
| std::string web_session_str(web_session_id, web_session_id_length);
|
|
|
| scoped_ptr<media::SimpleCdmPromise> promise(
|
| - new media::SimpleCdmPromise(base::Bind(&ClearKeyCdm::OnPromiseResolved,
|
| - base::Unretained(this),
|
| - promise_id),
|
| - base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| - base::Unretained(this),
|
| - promise_id)));
|
| + new media::CdmCallbackPromise<void>(
|
| + base::Bind(&ClearKeyCdm::OnPromiseResolved,
|
| + base::Unretained(this),
|
| + promise_id),
|
| + base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| + base::Unretained(this),
|
| + promise_id)));
|
| decryptor_.RemoveSession(web_session_str, promise.Pass());
|
| } else {
|
| // TODO(jrummell): This should be a DCHECK once blink does the proper
|
| @@ -378,12 +384,14 @@ void ClearKeyCdm::GetUsableKeyIds(uint32_t promise_id,
|
| const char* web_session_id,
|
| uint32_t web_session_id_length) {
|
| std::string web_session_str(web_session_id, web_session_id_length);
|
| - scoped_ptr<media::KeyIdsPromise> promise(new media::KeyIdsPromise(
|
| - base::Bind(&ClearKeyCdm::OnUsableKeyIdsObtained,
|
| - base::Unretained(this),
|
| - promise_id),
|
| - base::Bind(
|
| - &ClearKeyCdm::OnPromiseFailed, base::Unretained(this), promise_id)));
|
| + scoped_ptr<media::KeyIdsPromise> promise(
|
| + new media::CdmCallbackPromise<KeyIdsVector>(
|
| + base::Bind(&ClearKeyCdm::OnUsableKeyIdsObtained,
|
| + base::Unretained(this),
|
| + promise_id),
|
| + base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| + base::Unretained(this),
|
| + promise_id)));
|
| decryptor_.GetUsableKeyIds(web_session_str, promise.Pass());
|
| }
|
|
|
| @@ -660,14 +668,15 @@ void ClearKeyCdm::LoadLoadableSession() {
|
| sizeof(kLoadableSessionKeyId) - 1);
|
| // TODO(xhwang): This triggers OnSessionUpdated(). For prefixed EME support,
|
| // this is okay. Check WD EME support.
|
| - scoped_ptr<media::SimpleCdmPromise> promise(new media::SimpleCdmPromise(
|
| - base::Bind(&ClearKeyCdm::OnSessionUpdated,
|
| - base::Unretained(this),
|
| - promise_id_for_emulated_loadsession_,
|
| - session_id_for_emulated_loadsession_),
|
| - base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| - base::Unretained(this),
|
| - promise_id_for_emulated_loadsession_)));
|
| + scoped_ptr<media::SimpleCdmPromise> promise(
|
| + new media::CdmCallbackPromise<void>(
|
| + base::Bind(&ClearKeyCdm::OnSessionUpdated,
|
| + base::Unretained(this),
|
| + promise_id_for_emulated_loadsession_,
|
| + session_id_for_emulated_loadsession_),
|
| + base::Bind(&ClearKeyCdm::OnPromiseFailed,
|
| + base::Unretained(this),
|
| + promise_id_for_emulated_loadsession_)));
|
| decryptor_.UpdateSession(session_id_for_emulated_loadsession_,
|
| reinterpret_cast<const uint8*>(jwk_set.data()),
|
| jwk_set.size(),
|
|
|