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_; |