Chromium Code Reviews| Index: content/renderer/pepper/content_decryptor_delegate.cc |
| diff --git a/content/renderer/pepper/content_decryptor_delegate.cc b/content/renderer/pepper/content_decryptor_delegate.cc |
| index b085c8a9213496f51c8b4f3733573e70df333a47..a067ec5c6411f42448f477ad2c652a30202aca3c 100644 |
| --- a/content/renderer/pepper/content_decryptor_delegate.cc |
| +++ b/content/renderer/pepper/content_decryptor_delegate.cc |
| @@ -767,7 +767,8 @@ void ContentDecryptorDelegate::OnPromiseRejected( |
| void ContentDecryptorDelegate::OnSessionMessage(PP_Var web_session_id, |
| PP_CdmMessageType message_type, |
| - PP_Var message) { |
| + PP_Var message, |
| + PP_Var legacy_destination_url) { |
| if (session_message_cb_.is_null()) |
| return; |
| @@ -781,9 +782,20 @@ void ContentDecryptorDelegate::OnSessionMessage(PP_Var web_session_id, |
| message_vector.assign(data, data + message_array_buffer->ByteLength()); |
| } |
| + StringVar* destination_url_string = |
| + StringVar::FromPPVar(legacy_destination_url); |
| + DCHECK(destination_url_string); |
|
dmichael (off chromium)
2015/01/13 21:15:15
How much do we trust the CDM code? Is it OK that i
jrummell
2015/01/13 21:41:44
Done.
|
| + |
| + GURL verified_gurl = GURL(destination_url_string->value()); |
| + if (!verified_gurl.is_valid()) { |
| + DLOG(WARNING) << "SessionMessage legacy_destination_url is invalid : " |
| + << verified_gurl.possibly_invalid_spec(); |
| + verified_gurl = GURL::EmptyGURL(); // Replace invalid destination_url. |
| + } |
| + |
| session_message_cb_.Run(web_session_id_string->value(), |
| PpCdmMessageTypeToMediaMessageType(message_type), |
| - message_vector); |
| + message_vector, verified_gurl); |
| } |
| void ContentDecryptorDelegate::OnSessionKeysChange( |