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

Unified Diff: media/base/android/media_drm_bridge.h

Issue 1837143002: media: Pass MediaPermission to MediaDrmBridge Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More plumbing Created 4 years, 8 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 | « media/base/android/android_cdm_factory.cc ('k') | media/base/android/media_drm_bridge.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/android/media_drm_bridge.h
diff --git a/media/base/android/media_drm_bridge.h b/media/base/android/media_drm_bridge.h
index 8c31f89694ade4fd88341ae6536c923a02c01436..c8ddcca149052d370872d026dbbfa405e2871bba 100644
--- a/media/base/android/media_drm_bridge.h
+++ b/media/base/android/media_drm_bridge.h
@@ -28,6 +28,8 @@ class GURL;
namespace media {
+class MediaPermission;
+
// Implements a CDM using Android MediaDrm API.
//
// Thread Safety:
@@ -81,7 +83,9 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker {
// if |security_level| is SECURITY_LEVEL_DEFAULT.
static scoped_refptr<MediaDrmBridge> Create(
const std::string& key_system,
+ const GURL& security_origin,
SecurityLevel security_level,
+ MediaPermission* media_permission,
const CreateFetcherCB& create_fetcher_cb,
const SessionMessageCB& session_message_cb,
const SessionClosedCB& session_closed_cb,
@@ -247,7 +251,9 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker {
static scoped_refptr<MediaDrmBridge> CreateInternal(
const std::string& key_system,
+ const GURL& security_origin,
SecurityLevel security_level,
+ MediaPermission* media_permission,
const CreateFetcherCB& create_fetcher_cb,
const SessionMessageCB& session_message_cb,
const SessionClosedCB& session_closed_cb,
@@ -260,7 +266,9 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker {
// SECURITY_LEVEL_DEFAULT. Sessions should not be created if session callbacks
// are null.
MediaDrmBridge(const std::vector<uint8_t>& scheme_uuid,
+ const GURL& security_origin,
SecurityLevel security_level,
+ MediaPermission* media_permission,
const CreateFetcherCB& create_fetcher_cb,
const SessionMessageCB& session_message_cb,
const SessionClosedCB& session_closed_cb,
@@ -281,6 +289,12 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker {
// A helper method that is called when MediaCrypto is ready.
void NotifyMediaCryptoReady(JavaObjectPtr j_media_crypto);
+ void CreateSessionAndGenerateRequestIfPermitted(
+ EmeInitDataType init_data_type,
+ const std::vector<uint8_t>& init_data,
+ scoped_ptr<NewSessionCdmPromise> promise,
+ bool permitted);
+
// Sends HTTP provisioning request to a provisioning server.
void SendProvisioningRequest(const std::string& default_url,
const std::string& request_data);
@@ -294,6 +308,8 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker {
// UUID of the key system.
std::vector<uint8_t> scheme_uuid_;
+ GURL security_origin_;
+
// Java MediaDrm instance.
base::android::ScopedJavaGlobalRef<jobject> j_media_drm_;
@@ -306,6 +322,8 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker {
// MediaCrypto creation failed and it has been notified.
JavaObjectPtr j_media_crypto_;
+ MediaPermission* media_permission_;
+
// The callback to create a ProvisionFetcher.
CreateFetcherCB create_fetcher_cb_;
« no previous file with comments | « media/base/android/android_cdm_factory.cc ('k') | media/base/android/media_drm_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698