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