Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2633)

Unified Diff: content/renderer/media/cdm_session_adapter.h

Issue 555223004: Update MediaKeys interface for EME (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/media/cdm_result_promise.cc ('k') | content/renderer/media/cdm_session_adapter.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/media/cdm_session_adapter.h
diff --git a/content/renderer/media/cdm_session_adapter.h b/content/renderer/media/cdm_session_adapter.h
index 7e32669962268deb2e75cc79f5f76de5bddd8666..a8be20d0dd484c1a63b0ed8a5296efc43254d0af 100644
--- a/content/renderer/media/cdm_session_adapter.h
+++ b/content/renderer/media/cdm_session_adapter.h
@@ -47,6 +47,12 @@ class CdmSessionAdapter : public base::RefCounted<CdmSessionAdapter> {
const std::string& key_system,
const GURL& security_origin);
+ // Provides a server certificate to be used to encrypt messages to the
+ // license server.
+ void SetServerCertificate(const uint8* server_certificate,
+ int server_certificate_length,
+ scoped_ptr<media::SimpleCdmPromise> promise);
+
// Creates a new session and adds it to the internal map. The caller owns the
// created session. RemoveSession() must be called when destroying it, if
// RegisterSession() was called.
@@ -60,10 +66,10 @@ class CdmSessionAdapter : public base::RefCounted<CdmSessionAdapter> {
base::WeakPtr<WebContentDecryptionModuleSessionImpl> session);
// Removes a session from the internal map.
- void RemoveSession(const std::string& web_session_id);
+ void UnregisterSession(const std::string& web_session_id);
// Initializes a session with the |init_data_type|, |init_data| and
- // |session_type| provided. Takes ownership of |promise|.
+ // |session_type| provided.
void InitializeNewSession(const std::string& init_data_type,
const uint8* init_data,
int init_data_length,
@@ -71,16 +77,24 @@ class CdmSessionAdapter : public base::RefCounted<CdmSessionAdapter> {
scoped_ptr<media::NewSessionCdmPromise> promise);
// Updates the session specified by |web_session_id| with |response|.
- // Takes ownership of |promise|.
void UpdateSession(const std::string& web_session_id,
const uint8* response,
int response_length,
scoped_ptr<media::SimpleCdmPromise> promise);
- // Releases the session specified by |web_session_id|.
- // Takes ownership of |promise|.
- void ReleaseSession(const std::string& web_session_id,
- scoped_ptr<media::SimpleCdmPromise> promise);
+ // Closes the session specified by |web_session_id|.
+ void CloseSession(const std::string& web_session_id,
+ scoped_ptr<media::SimpleCdmPromise> promise);
+
+ // Removes stored session data associated with the session specified by
+ // |web_session_id|.
+ void RemoveSession(const std::string& web_session_id,
+ scoped_ptr<media::SimpleCdmPromise> promise);
+
+ // Retrieves the key IDs for keys in the session that the CDM knows are
+ // currently usable to decrypt media data.
+ void GetUsableKeyIds(const std::string& web_session_id,
+ scoped_ptr<media::KeyIdsPromise> promise);
// Returns the Decryptor associated with this CDM. May be NULL if no
// Decryptor is associated with the MediaKeys object.
@@ -109,6 +123,10 @@ class CdmSessionAdapter : public base::RefCounted<CdmSessionAdapter> {
void OnSessionMessage(const std::string& web_session_id,
const std::vector<uint8>& message,
const GURL& destination_url);
+ void OnSessionKeysChange(const std::string& web_session_id,
+ bool has_additional_usable_key);
+ void OnSessionExpirationUpdate(const std::string& web_session_id,
+ const base::Time& new_expiry_time);
void OnSessionReady(const std::string& web_session_id);
void OnSessionClosed(const std::string& web_session_id);
void OnSessionError(const std::string& web_session_id,
« no previous file with comments | « content/renderer/media/cdm_result_promise.cc ('k') | content/renderer/media/cdm_session_adapter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698