diff options
-rw-r--r-- | media/mojo/services/mojo_cdm_promise.cc | 2 | ||||
-rw-r--r-- | media/mojo/services/mojo_cdm_promise.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/media/mojo/services/mojo_cdm_promise.cc b/media/mojo/services/mojo_cdm_promise.cc index 3257bd8..4f17f11 100644 --- a/media/mojo/services/mojo_cdm_promise.cc +++ b/media/mojo/services/mojo_cdm_promise.cc @@ -40,6 +40,7 @@ MojoCdmPromise<T...>::~MojoCdmPromise() { template <typename... T> void MojoCdmPromise<T...>::resolve(const T&... result) { + MarkPromiseSettled(); mojo::CdmPromiseResultPtr cdm_promise_result(mojo::CdmPromiseResult::New()); cdm_promise_result->success = true; callback_.Run(cdm_promise_result.Pass(), @@ -51,6 +52,7 @@ template <typename... T> void MojoCdmPromise<T...>::reject(MediaKeys::Exception exception, uint32_t system_code, const std::string& error_message) { + MarkPromiseSettled(); callback_.Run(GetRejectResult(exception, system_code, error_message), MojoTypeTrait<T>::DefaultValue()...); callback_.reset(); diff --git a/media/mojo/services/mojo_cdm_promise.h b/media/mojo/services/mojo_cdm_promise.h index ea78fef..233d5b1 100644 --- a/media/mojo/services/mojo_cdm_promise.h +++ b/media/mojo/services/mojo_cdm_promise.h @@ -31,6 +31,8 @@ class MojoCdmPromise : public CdmPromiseTemplate<T...> { const std::string& error_message) final; private: + using media::CdmPromiseTemplate<T...>::MarkPromiseSettled; + CallbackType callback_; }; |