Index: media/cdm/ppapi/cdm_adapter.cc |
diff --git a/media/cdm/ppapi/cdm_adapter.cc b/media/cdm/ppapi/cdm_adapter.cc |
index 1d36db9595365be0c97e50fd221a25785644232c..9a1038cdbb3ba35c14db6e3478ddb32195b18dd8 100644 |
--- a/media/cdm/ppapi/cdm_adapter.cc |
+++ b/media/cdm/ppapi/cdm_adapter.cc |
@@ -715,11 +715,15 @@ void CdmAdapter::OnSessionMessage(const char* session_id, |
uint32_t session_id_size, |
cdm::MessageType message_type, |
const char* message, |
- uint32_t message_size) { |
+ uint32_t message_size, |
+ const char* legacy_destination_url, |
+ uint32_t legacy_destination_url_size) { |
PostOnMain(callback_factory_.NewCallback( |
&CdmAdapter::SendSessionMessageInternal, |
- std::string(session_id, session_id_size), message_type, |
- std::vector<uint8_t>(message, message + message_size))); |
+ SessionMessage( |
+ std::string(session_id, session_id_size), message_type, |
+ std::vector<uint8_t>(message, message + message_size), |
+ std::string(legacy_destination_url, legacy_destination_url_size)))); |
} |
// cdm::Host_6 only. |
@@ -737,8 +741,9 @@ void CdmAdapter::OnSessionMessage(const char* session_id, |
: cdm::MessageType::kLicenseRequest; |
PostOnMain(callback_factory_.NewCallback( |
&CdmAdapter::SendSessionMessageInternal, |
- std::string(session_id, session_id_size), message_type, |
- std::vector<uint8_t>(message, message + message_size))); |
+ SessionMessage(std::string(session_id, session_id_size), message_type, |
+ std::vector<uint8_t>(message, message + message_size), |
+ std::string(destination_url, destination_url_size)))); |
} |
// cdm::Host_7 only. |
@@ -851,21 +856,19 @@ void CdmAdapter::SendPromiseRejectedInternal(int32_t result, |
error.error_description); |
} |
-void CdmAdapter::SendSessionMessageInternal( |
- int32_t result, |
- const std::string& session_id, |
- cdm::MessageType message_type, |
- const std::vector<uint8_t>& message) { |
+void CdmAdapter::SendSessionMessageInternal(int32_t result, |
+ const SessionMessage& message) { |
PP_DCHECK(result == PP_OK); |
- pp::VarArrayBuffer message_array_buffer(message.size()); |
- if (message.size() > 0) { |
- memcpy(message_array_buffer.Map(), message.data(), message.size()); |
+ pp::VarArrayBuffer message_array_buffer(message.message.size()); |
+ if (message.message.size() > 0) { |
+ memcpy(message_array_buffer.Map(), message.message.data(), |
+ message.message.size()); |
} |
pp::ContentDecryptor_Private::SessionMessage( |
- session_id, CdmMessageTypeToPpMessageType(message_type), |
- message_array_buffer); |
+ message.session_id, CdmMessageTypeToPpMessageType(message.message_type), |
+ message_array_buffer, message.legacy_destination_url); |
} |
void CdmAdapter::SendSessionClosedInternal(int32_t result, |
@@ -1306,6 +1309,16 @@ CdmAdapter::SessionError::SessionError(cdm::Error error, |
error_description(error_description) { |
} |
+CdmAdapter::SessionMessage::SessionMessage(std::string session_id, |
+ cdm::MessageType message_type, |
+ std::vector<uint8_t> message, |
+ std::string legacy_destination_url) |
+ : session_id(session_id), |
+ message_type(message_type), |
+ message(message), |
+ legacy_destination_url(legacy_destination_url) { |
+} |
+ |
void* GetCdmHost(int host_interface_version, void* user_data) { |
if (!host_interface_version || !user_data) |
return NULL; |