Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / media / base / android / media_drm_bridge.cc
index 15b7c59..e658c2d 100644 (file)
@@ -260,7 +260,7 @@ bool MediaDrmBridge::SetSecurityLevel(SecurityLevel security_level) {
 }
 
 bool MediaDrmBridge::CreateSession(uint32 session_id,
-                                   const std::string& type,
+                                   const std::string& content_type,
                                    const uint8* init_data,
                                    int init_data_length) {
   std::vector<uint8> pssh_data;
@@ -270,12 +270,19 @@ bool MediaDrmBridge::CreateSession(uint32 session_id,
   JNIEnv* env = AttachCurrentThread();
   ScopedJavaLocalRef<jbyteArray> j_pssh_data =
       base::android::ToJavaByteArray(env, &pssh_data[0], pssh_data.size());
-  ScopedJavaLocalRef<jstring> j_mime = ConvertUTF8ToJavaString(env, type);
+  ScopedJavaLocalRef<jstring> j_mime =
+      ConvertUTF8ToJavaString(env, content_type);
   Java_MediaDrmBridge_createSession(
       env, j_media_drm_.obj(), session_id, j_pssh_data.obj(), j_mime.obj());
   return true;
 }
 
+void MediaDrmBridge::LoadSession(uint32 session_id,
+                                 const std::string& web_session_id) {
+  // MediaDrmBridge doesn't support loading sessions.
+  NOTREACHED();
+}
+
 void MediaDrmBridge::UpdateSession(uint32 session_id,
                                    const uint8* response,
                                    int response_length) {
@@ -333,8 +340,15 @@ void MediaDrmBridge::OnSessionMessage(JNIEnv* env,
   std::vector<uint8> message;
   JavaByteArrayToByteVector(env, j_message, &message);
   std::string destination_url = ConvertJavaStringToUTF8(env, j_destination_url);
+  GURL destination_gurl(destination_url);
+  if (!destination_gurl.is_valid() && !destination_gurl.is_empty()) {
+    DLOG(WARNING) << "SessionMessage destination_url is invalid : "
+                  << destination_gurl.possibly_invalid_spec();
+    destination_gurl = GURL::EmptyGURL();  // Replace invalid destination_url.
+  }
+
   manager_->OnSessionMessage(
-      media_keys_id_, session_id, message, destination_url);
+      media_keys_id_, session_id, message, destination_gurl);
 }
 
 void MediaDrmBridge::OnSessionReady(JNIEnv* env,