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

Unified Diff: content/browser/media/cdm/browser_cdm_manager.h

Issue 1160983002: Allows support for persistent session types in BrowserCdm. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: removes session_type TODO Created 5 years, 7 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
Index: content/browser/media/cdm/browser_cdm_manager.h
diff --git a/content/browser/media/cdm/browser_cdm_manager.h b/content/browser/media/cdm/browser_cdm_manager.h
index 57684da3db681067c2122d529e35115918103325..629a49d84eff165ab6565d9de5f7334524144747 100644
--- a/content/browser/media/cdm/browser_cdm_manager.h
+++ b/content/browser/media/cdm/browser_cdm_manager.h
@@ -25,6 +25,8 @@
#include "media/base/media_keys.h"
#include "url/gurl.h"
+struct CdmHostMsg_CreateSessionAndGenerateRequest_Params;
+
namespace media {
class BrowserCdm;
}
@@ -116,11 +118,13 @@ class CONTENT_EXPORT BrowserCdmManager : public BrowserMessageFilter {
uint32_t promise_id,
const std::vector<uint8_t>& certificate);
void OnCreateSessionAndGenerateRequest(
+ const CdmHostMsg_CreateSessionAndGenerateRequest_Params& params);
+ void OnLoadSession(
int render_frame_id,
int cdm_id,
uint32_t promise_id,
- CdmHostMsg_CreateSession_InitDataType init_data_type,
- const std::vector<uint8>& init_data);
+ media::MediaKeys::SessionType session_type,
+ const std::string& session_id);
void OnUpdateSession(int render_frame_id,
int cdm_id,
uint32_t promise_id,
@@ -130,6 +134,10 @@ class CONTENT_EXPORT BrowserCdmManager : public BrowserMessageFilter {
int cdm_id,
uint32_t promise_id,
const std::string& session_id);
+ void OnRemoveSession(int render_frame_id,
+ int cdm_id,
+ uint32_t promise_id,
+ const std::string& session_id);
void OnDestroyCdm(int render_frame_id, int cdm_id);
// Adds a new CDM identified by |cdm_id| for the given |key_system| and
@@ -167,11 +175,21 @@ class CONTENT_EXPORT BrowserCdmManager : public BrowserMessageFilter {
void CreateSessionAndGenerateRequestIfPermitted(
int render_frame_id,
int cdm_id,
+ media::MediaKeys::SessionType session_type,
media::EmeInitDataType init_data_type,
const std::vector<uint8>& init_data,
scoped_ptr<media::NewSessionCdmPromise> promise,
bool permission_was_allowed);
+ // Calls LoadSession() on the CDM if |permission_was_allowed| is true.
+ // Otherwise rejects |promise|.
+ void LoadSessionIfPermitted(int render_frame_id,
+ int cdm_id,
+ media::MediaKeys::SessionType session_type,
+ const std::string& session_id,
+ scoped_ptr<media::NewSessionCdmPromise> promise,
+ bool permission_was_allowed);
+
const int render_process_id_;
// TaskRunner to dispatch all CDM messages to. If it's NULL, all messages are

Powered by Google App Engine
This is Rietveld 408576698