| 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..a61e3aecfa62447cf59f2de49c4631adeb7de4ab 100644
|
| --- a/content/renderer/media/crypto/ppapi_decryptor.cc
|
| +++ b/content/renderer/media/crypto/ppapi_decryptor.cc
|
| @@ -28,25 +28,23 @@ 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)
|
| + const base::Closure& additional_resolve_cb)
|
| : caller_promise_(caller_promise.Pass()),
|
| additional_resolve_cb_(additional_resolve_cb) {}
|
|
|
| - virtual void resolve() OVERRIDE {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| + virtual void resolve() override {
|
| + MarkPromiseSettled();
|
| additional_resolve_cb_.Run();
|
| caller_promise_->resolve();
|
| }
|
|
|
| virtual void reject(media::MediaKeys::Exception exception_code,
|
| uint32 system_code,
|
| - const std::string& error_message) OVERRIDE {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| + const std::string& error_message) override {
|
| + MarkPromiseSettled();
|
| caller_promise_->reject(exception_code, system_code, error_message);
|
| }
|
|
|
| @@ -59,25 +57,23 @@ 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)
|
| + const base::Closure& additional_resolve_cb)
|
| : caller_promise_(caller_promise.Pass()),
|
| additional_resolve_cb_(additional_resolve_cb) {}
|
|
|
| - virtual void resolve(const std::string& web_session_id) OVERRIDE {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| + virtual void resolve(const std::string& web_session_id) override {
|
| + MarkPromiseSettled();
|
| additional_resolve_cb_.Run();
|
| caller_promise_->resolve(web_session_id);
|
| }
|
|
|
| virtual void reject(media::MediaKeys::Exception exception_code,
|
| uint32 system_code,
|
| - const std::string& error_message) OVERRIDE {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| + const std::string& error_message) override {
|
| + MarkPromiseSettled();
|
| caller_promise_->reject(exception_code, system_code, error_message);
|
| }
|
|
|
|
|