| Index: media/base/android/media_drm_bridge.cc
|
| diff --git a/media/base/android/media_drm_bridge.cc b/media/base/android/media_drm_bridge.cc
|
| index fd29f28903b3c3972a96a36112d64e6b69e82dec..83b14ae185b0d04bb7ccc4063daeb70fc25f4035 100644
|
| --- a/media/base/android/media_drm_bridge.cc
|
| +++ b/media/base/android/media_drm_bridge.cc
|
| @@ -318,6 +318,7 @@ scoped_refptr<MediaDrmBridge> MediaDrmBridge::CreateInternal(
|
| const GURL& security_origin,
|
| SecurityLevel security_level,
|
| const CreateFetcherCB& create_fetcher_cb,
|
| + const CreateStorageCB& create_storage_cb,
|
| const SessionMessageCB& session_message_cb,
|
| const SessionClosedCB& session_closed_cb,
|
| const SessionKeysChangeCB& session_keys_change_cb,
|
| @@ -331,8 +332,8 @@ scoped_refptr<MediaDrmBridge> MediaDrmBridge::CreateInternal(
|
|
|
| scoped_refptr<MediaDrmBridge> media_drm_bridge(new MediaDrmBridge(
|
| scheme_uuid, security_origin, security_level, create_fetcher_cb,
|
| - session_message_cb, session_closed_cb, session_keys_change_cb,
|
| - session_expiration_update_cb));
|
| + create_storage_cb, session_message_cb, session_closed_cb,
|
| + session_keys_change_cb, session_expiration_update_cb));
|
|
|
| if (media_drm_bridge->j_media_drm_.is_null())
|
| media_drm_bridge = nullptr;
|
| @@ -346,6 +347,7 @@ scoped_refptr<MediaDrmBridge> MediaDrmBridge::Create(
|
| const GURL& security_origin,
|
| SecurityLevel security_level,
|
| const CreateFetcherCB& create_fetcher_cb,
|
| + const CreateStorageCB& create_storage_cb,
|
| const SessionMessageCB& session_message_cb,
|
| const SessionClosedCB& session_closed_cb,
|
| const SessionKeysChangeCB& session_keys_change_cb,
|
| @@ -356,9 +358,9 @@ scoped_refptr<MediaDrmBridge> MediaDrmBridge::Create(
|
| return nullptr;
|
|
|
| return CreateInternal(key_system, security_origin, security_level,
|
| - create_fetcher_cb, session_message_cb,
|
| - session_closed_cb, session_keys_change_cb,
|
| - session_expiration_update_cb);
|
| + create_fetcher_cb, create_storage_cb,
|
| + session_message_cb, session_closed_cb,
|
| + session_keys_change_cb, session_expiration_update_cb);
|
| }
|
|
|
| // static
|
| @@ -372,10 +374,10 @@ scoped_refptr<MediaDrmBridge> MediaDrmBridge::CreateWithoutSessionSupport(
|
| if (!AreMediaDrmApisAvailable())
|
| return nullptr;
|
|
|
| - return MediaDrmBridge::Create(key_system, GURL::EmptyGURL(), security_level,
|
| - create_fetcher_cb, SessionMessageCB(),
|
| - SessionClosedCB(), SessionKeysChangeCB(),
|
| - SessionExpirationUpdateCB());
|
| + return MediaDrmBridge::Create(
|
| + key_system, GURL::EmptyGURL(), security_level, create_fetcher_cb,
|
| + CreateStorageCB(), SessionMessageCB(), SessionClosedCB(),
|
| + SessionKeysChangeCB(), SessionExpirationUpdateCB());
|
| }
|
|
|
| void MediaDrmBridge::SetServerCertificate(
|
| @@ -779,12 +781,14 @@ MediaDrmBridge::MediaDrmBridge(
|
| const GURL& security_origin,
|
| SecurityLevel security_level,
|
| const CreateFetcherCB& create_fetcher_cb,
|
| + const CreateStorageCB& create_storage_cb,
|
| const SessionMessageCB& session_message_cb,
|
| const SessionClosedCB& session_closed_cb,
|
| const SessionKeysChangeCB& session_keys_change_cb,
|
| const SessionExpirationUpdateCB& session_expiration_update_cb)
|
| : scheme_uuid_(scheme_uuid),
|
| create_fetcher_cb_(create_fetcher_cb),
|
| + create_storage_cb_(create_storage_cb),
|
| session_message_cb_(session_message_cb),
|
| session_closed_cb_(session_closed_cb),
|
| session_keys_change_cb_(session_keys_change_cb),
|
| @@ -819,6 +823,10 @@ MediaDrmBridge::MediaDrmBridge(
|
| ScopedJavaLocalRef<jstring> j_security_origin = ConvertUTF8ToJavaString(
|
| env, use_origin_isolated_storage ? security_origin.spec() : "");
|
|
|
| + // TODO(yucliu): Use |create_storage_cb_| to create MediaDrmStorage which can
|
| + // be used by Java side to store/retrieve persistent data. This should only
|
| + // be used when |use_origin_isolated_storage| is true.
|
| +
|
| // Note: OnMediaCryptoReady() could be called in this call.
|
| j_media_drm_.Reset(Java_MediaDrmBridge_create(
|
| env, j_scheme_uuid, j_security_origin, j_security_level,
|
|
|