| 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 0a6c14cd3865b6faae3417951833a038b68855a4..537d685c44b73179cfc095cbe6cec9b28678b50b 100644
|
| --- a/content/renderer/media/crypto/ppapi_decryptor.cc
|
| +++ b/content/renderer/media/crypto/ppapi_decryptor.cc
|
| @@ -28,7 +28,7 @@ namespace content {
|
| // This class is needed so that resolving an Update() promise triggers playback
|
| // of the stream. It intercepts the resolve() call to invoke an additional
|
| // callback.
|
| -class SessionUpdatedPromise : public media::SimpleCdmPromise {
|
| +class SessionUpdatedPromise : public media::CdmPromiseTemplate<> {
|
| public:
|
| SessionUpdatedPromise(scoped_ptr<media::SimpleCdmPromise> caller_promise,
|
| base::Closure additional_resolve_cb)
|
| @@ -36,8 +36,7 @@ class SessionUpdatedPromise : public media::SimpleCdmPromise {
|
| additional_resolve_cb_(additional_resolve_cb) {}
|
|
|
| virtual void resolve() OVERRIDE {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| + PromiseSettled();
|
| additional_resolve_cb_.Run();
|
| caller_promise_->resolve();
|
| }
|
| @@ -45,8 +44,7 @@ class SessionUpdatedPromise : public media::SimpleCdmPromise {
|
| virtual void reject(media::MediaKeys::Exception exception_code,
|
| uint32 system_code,
|
| const std::string& error_message) OVERRIDE {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| + PromiseSettled();
|
| caller_promise_->reject(exception_code, system_code, error_message);
|
| }
|
|
|
| @@ -59,7 +57,7 @@ class SessionUpdatedPromise : public media::SimpleCdmPromise {
|
| // playback of the stream. It intercepts the resolve() call to invoke an
|
| // additional callback. This is only needed until KeysChange event gets passed
|
| // through Pepper.
|
| -class SessionLoadedPromise : public media::NewSessionCdmPromise {
|
| +class SessionLoadedPromise : public media::CdmPromiseTemplate<std::string> {
|
| public:
|
| SessionLoadedPromise(scoped_ptr<media::NewSessionCdmPromise> caller_promise,
|
| base::Closure additional_resolve_cb)
|
| @@ -67,8 +65,7 @@ class SessionLoadedPromise : public media::NewSessionCdmPromise {
|
| additional_resolve_cb_(additional_resolve_cb) {}
|
|
|
| virtual void resolve(const std::string& web_session_id) OVERRIDE {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| + PromiseSettled();
|
| additional_resolve_cb_.Run();
|
| caller_promise_->resolve(web_session_id);
|
| }
|
| @@ -76,8 +73,7 @@ class SessionLoadedPromise : public media::NewSessionCdmPromise {
|
| virtual void reject(media::MediaKeys::Exception exception_code,
|
| uint32 system_code,
|
| const std::string& error_message) OVERRIDE {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| + PromiseSettled();
|
| caller_promise_->reject(exception_code, system_code, error_message);
|
| }
|
|
|
|
|