| Index: content/renderer/pepper/content_decryptor_delegate.cc
|
| diff --git a/content/renderer/pepper/content_decryptor_delegate.cc b/content/renderer/pepper/content_decryptor_delegate.cc
|
| index e1b0b1ba3e5d1100275908abf15dd578ec1b86a9..840efa42e90f2c40cacfd959689c4eef324ae8d0 100644
|
| --- a/content/renderer/pepper/content_decryptor_delegate.cc
|
| +++ b/content/renderer/pepper/content_decryptor_delegate.cc
|
| @@ -625,26 +625,33 @@ bool ContentDecryptorDelegate::DecryptAndDecodeVideo(
|
|
|
| void ContentDecryptorDelegate::OnPromiseResolved(uint32 promise_id) {
|
| scoped_ptr<CdmPromise> promise = TakePromise(promise_id);
|
| - if (promise) {
|
| - SimpleCdmPromise* simple_promise(
|
| - static_cast<SimpleCdmPromise*>(promise.get()));
|
| - simple_promise->resolve();
|
| + if (!promise ||
|
| + promise->GetResolveParameterType() != media::CdmPromise::VOID_TYPE) {
|
| + NOTREACHED();
|
| + return;
|
| }
|
| +
|
| + SimpleCdmPromise* simple_promise(
|
| + static_cast<SimpleCdmPromise*>(promise.get()));
|
| + simple_promise->resolve();
|
| }
|
|
|
| void ContentDecryptorDelegate::OnPromiseResolvedWithSession(
|
| uint32 promise_id,
|
| PP_Var web_session_id) {
|
| scoped_ptr<CdmPromise> promise = TakePromise(promise_id);
|
| + if (!promise ||
|
| + promise->GetResolveParameterType() != media::CdmPromise::STRING_TYPE) {
|
| + NOTREACHED();
|
| + return;
|
| + }
|
|
|
| StringVar* web_session_id_string = StringVar::FromPPVar(web_session_id);
|
| DCHECK(web_session_id_string);
|
|
|
| - if (promise) {
|
| - NewSessionCdmPromise* session_promise(
|
| - static_cast<NewSessionCdmPromise*>(promise.get()));
|
| - session_promise->resolve(web_session_id_string->value());
|
| - }
|
| + NewSessionCdmPromise* session_promise(
|
| + static_cast<NewSessionCdmPromise*>(promise.get()));
|
| + session_promise->resolve(web_session_id_string->value());
|
| }
|
|
|
| void ContentDecryptorDelegate::OnPromiseRejected(
|
|
|