Chromium Code Reviews| Index: media/mojo/clients/mojo_cdm.h |
| diff --git a/media/mojo/clients/mojo_cdm.h b/media/mojo/clients/mojo_cdm.h |
| index 71a03e0915544cbbf1c4d927f47794c25511dca8..e9578654d7e2725342177b823cf0561f38f124b9 100644 |
| --- a/media/mojo/clients/mojo_cdm.h |
| +++ b/media/mojo/clients/mojo_cdm.h |
| @@ -18,7 +18,6 @@ |
| #include "media/base/cdm_context.h" |
| #include "media/base/cdm_initialized_promise.h" |
| #include "media/base/media_keys.h" |
| -#include "media/mojo/common/mojo_type_trait.h" |
| #include "media/mojo/interfaces/content_decryption_module.mojom.h" |
| #include "mojo/public/cpp/bindings/binding.h" |
| @@ -90,21 +89,18 @@ class MojoCdm : public MediaKeys, |
| void OnConnectionError(); |
| // mojom::ContentDecryptionModuleClient implementation. |
| - void OnSessionMessage(const mojo::String& session_id, |
| + void OnSessionMessage(const std::string& session_id, |
| mojom::CdmMessageType message_type, |
| - mojo::Array<uint8_t> message) final; |
| - void OnSessionClosed(const mojo::String& session_id) final; |
| + const std::vector<uint8_t>& message) final; |
| + void OnSessionClosed(const std::string& session_id) final; |
| void OnSessionKeysChange( |
| - const mojo::String& session_id, |
| + const std::string& session_id, |
| bool has_additional_usable_key, |
| - mojo::Array<mojom::CdmKeyInformationPtr> keys_info) final; |
| - void OnSessionExpirationUpdate(const mojo::String& session_id, |
| + std::vector<mojom::CdmKeyInformationPtr> keys_info) final; |
|
jrummell
2016/10/11 22:25:21
const & ?
|
| + void OnSessionExpirationUpdate(const std::string& session_id, |
| double new_expiry_time_sec) final; |
| // Callback for InitializeCdm. |
| - // Note: Cannot use OnPromiseResult() below since we need to handle connection |
| - // error. Also we have extra parameters |cdm_id| and |decryptor|, which aren't |
| - // needed in CdmInitializedPromise. |
| void OnCdmInitialized(mojom::CdmPromiseResultPtr result, |
| int cdm_id, |
| mojom::DecryptorPtr decryptor); |
| @@ -113,18 +109,12 @@ class MojoCdm : public MediaKeys, |
| void OnKeyAdded(); |
| // Callbacks to handle CDM promises. |
| - // We have to inline this method, since MS VS 2013 compiler fails to compile |
| - // it when this method is not inlined. It fails with error C2244 |
| - // "unable to match function definition to an existing declaration". |
| - template <typename... T> |
| - void OnPromiseResult(std::unique_ptr<CdmPromiseTemplate<T...>> promise, |
| - mojom::CdmPromiseResultPtr result, |
| - typename MojoTypeTrait<T>::MojoType... args) { |
| - if (result->success) |
| - promise->resolve(args.template To<T>()...); // See ISO C++03 14.2/4. |
| - else |
| - RejectPromise(std::move(promise), std::move(result)); |
| - } |
| + void OnSimpleCdmPromiseResult(std::unique_ptr<SimpleCdmPromise> promise, |
| + mojom::CdmPromiseResultPtr result); |
| + void OnNewSessionCdmPromiseResult( |
| + std::unique_ptr<NewSessionCdmPromise> promise, |
| + mojom::CdmPromiseResultPtr result, |
| + const std::string& session_id); |
| base::ThreadChecker thread_checker_; |