diff options
author | jrummell <jrummell@chromium.org> | 2014-09-25 17:10:38 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-26 00:10:48 +0000 |
commit | 80428d2eb359a2448c67ae45ece3ea5dbc2f8cef (patch) | |
tree | 8336dc22e94a678c64611314f66f7dee6488ab34 /content/renderer/media/crypto/content_decryption_module_factory.cc | |
parent | 422b434274e09a95ca778dd29890d51ab2c15ae5 (diff) | |
download | chromium_src-80428d2eb359a2448c67ae45ece3ea5dbc2f8cef.zip chromium_src-80428d2eb359a2448c67ae45ece3ea5dbc2f8cef.tar.gz chromium_src-80428d2eb359a2448c67ae45ece3ea5dbc2f8cef.tar.bz2 |
Update MediaKeys interface for EME
To support CDM_6, make the following changes:
- add SetServerCertificate
- add GetUsableKeyIds
- rename ReleaseSession to CloseSession
- add RemoveSession
- add SessionKeysChange event
- add SessionExpirationChange event
This gets the new functionality up to the blink boundary. Changes to
use these new interfaces in blink in a future CL.
For backwards compatibility with existing prefixed EME code, calls
to CancelKeyRequest() call RemoveSession() instead of CloseSession().
BUG=358271,417481
TEST=existing EME tests still pass + manual testing
Review URL: https://codereview.chromium.org/555223004
Cr-Commit-Position: refs/heads/master@{#296838}
Diffstat (limited to 'content/renderer/media/crypto/content_decryption_module_factory.cc')
-rw-r--r-- | content/renderer/media/crypto/content_decryption_module_factory.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/content/renderer/media/crypto/content_decryption_module_factory.cc b/content/renderer/media/crypto/content_decryption_module_factory.cc index e56962f..0730238 100644 --- a/content/renderer/media/crypto/content_decryption_module_factory.cc +++ b/content/renderer/media/crypto/content_decryption_module_factory.cc @@ -30,7 +30,9 @@ scoped_ptr<media::MediaKeys> ContentDecryptionModuleFactory::Create( const media::SessionMessageCB& session_message_cb, const media::SessionReadyCB& session_ready_cb, const media::SessionClosedCB& session_closed_cb, - const media::SessionErrorCB& session_error_cb) { + const media::SessionErrorCB& session_error_cb, + const media::SessionKeysChangeCB& session_keys_change_cb, + const media::SessionExpirationUpdateCB& session_expiration_update_cb) { // TODO(jrummell): Pass |security_origin| to all constructors. // TODO(jrummell): Enable the following line once blink code updated to // check the security origin before calling. @@ -41,8 +43,8 @@ scoped_ptr<media::MediaKeys> ContentDecryptionModuleFactory::Create( #endif if (CanUseAesDecryptor(key_system)) { - return scoped_ptr<media::MediaKeys>( - new media::AesDecryptor(session_message_cb, session_closed_cb)); + return scoped_ptr<media::MediaKeys>(new media::AesDecryptor( + session_message_cb, session_closed_cb, session_keys_change_cb)); } #if defined(ENABLE_PEPPER_CDMS) return scoped_ptr<media::MediaKeys>( @@ -52,7 +54,9 @@ scoped_ptr<media::MediaKeys> ContentDecryptionModuleFactory::Create( session_message_cb, session_ready_cb, session_closed_cb, - session_error_cb)); + session_error_cb, + session_keys_change_cb, + session_expiration_update_cb)); #elif defined(ENABLE_BROWSER_CDMS) scoped_ptr<ProxyMediaKeys> proxy_media_keys = ProxyMediaKeys::Create(key_system, @@ -61,7 +65,9 @@ scoped_ptr<media::MediaKeys> ContentDecryptionModuleFactory::Create( session_message_cb, session_ready_cb, session_closed_cb, - session_error_cb); + session_error_cb, + session_keys_change_cb, + session_expiration_update_cb); if (proxy_media_keys) *cdm_id = proxy_media_keys->GetCdmId(); return proxy_media_keys.PassAs<media::MediaKeys>(); |