Chromium Code Reviews| 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 e11ebb8bace200818cd97b6b4398add079676bad..b1f77bb9446037a1a8cf47cc50bafdb30478694a 100644 |
| --- a/media/base/android/media_drm_bridge.cc |
| +++ b/media/base/android/media_drm_bridge.cc |
| @@ -301,6 +301,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, |
| @@ -314,8 +315,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; |
| @@ -329,6 +330,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, |
| @@ -339,9 +341,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 |
| @@ -355,10 +357,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( |
| @@ -766,12 +768,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), |
|
yucliu1
2017/03/27 19:06:41
I don't think we need this member in MediaDrmBridg
xhwang
2017/03/27 20:28:46
sgtm
|
| session_message_cb_(session_message_cb), |
| session_closed_cb_(session_closed_cb), |
| session_keys_change_cb_(session_keys_change_cb), |
| @@ -806,6 +810,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, |