summaryrefslogtreecommitdiffstats
path: root/content/renderer/media/crypto/content_decryption_module_factory.cc
diff options
context:
space:
mode:
authorjrummell <jrummell@chromium.org>2014-09-25 17:10:38 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-26 00:10:48 +0000
commit80428d2eb359a2448c67ae45ece3ea5dbc2f8cef (patch)
tree8336dc22e94a678c64611314f66f7dee6488ab34 /content/renderer/media/crypto/content_decryption_module_factory.cc
parent422b434274e09a95ca778dd29890d51ab2c15ae5 (diff)
downloadchromium_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.cc16
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>();