Chromium Code Reviews| Index: webkit/plugins/ppapi/content_decryptor_delegate.cc |
| diff --git a/webkit/plugins/ppapi/content_decryptor_delegate.cc b/webkit/plugins/ppapi/content_decryptor_delegate.cc |
| index e62fca497573070fe7eb80ed3d107ce39438351c..d2adfa3c428876c36e84ef4ec4f1d4f6c07265a7 100644 |
| --- a/webkit/plugins/ppapi/content_decryptor_delegate.cc |
| +++ b/webkit/plugins/ppapi/content_decryptor_delegate.cc |
| @@ -640,24 +640,39 @@ void ContentDecryptorDelegate::KeyMessage(PP_Var key_system_var, |
| return; |
| } |
| - EnterResourceNoLock<PPB_Buffer_API> enter(message_resource, true); |
| - if (!enter.succeeded()) { |
| - decryptor_client_->KeyError(key_system_string->value(), |
| - session_id_string->value(), |
| - media::Decryptor::kUnknownError, |
| - 0); |
| - return; |
| - } |
| + scoped_array<uint8> message_array; |
| + int message_size = 0; |
| + |
| + if (message_resource) { |
| + EnterResourceNoLock<PPB_Buffer_API> enter(message_resource, true); |
| + if (!enter.succeeded()) { |
| + decryptor_client_->KeyError(key_system_string->value(), |
| + session_id_string->value(), |
| + media::Decryptor::kUnknownError, |
| + 0); |
| + return; |
| + } |
| - BufferAutoMapper mapper(enter.object()); |
| - scoped_array<uint8> message_array(new uint8[mapper.size()]); |
| - if (mapper.data() && mapper.size()) |
| + BufferAutoMapper mapper(enter.object()); |
| + if (!mapper.data() || !mapper.size()) { |
| + decryptor_client_->KeyError(key_system_string->value(), |
| + session_id_string->value(), |
| + media::Decryptor::kUnknownError, |
| + 0); |
| + return; |
| + } |
| + |
| + message_size = mapper.size(); |
| + message_array.reset(new uint8[message_size]); |
| memcpy(message_array.get(), mapper.data(), mapper.size()); |
| + } |
| + |
| + LOG(ERROR) << "ContentDecryptorDelegate::KeyMessage"; |
|
ddorwin
2012/12/04 01:44:10
Did you mean to keep this here? Should at least no
xhwang
2012/12/04 01:58:51
oops, removed.
|
| decryptor_client_->KeyMessage(key_system_string->value(), |
| session_id_string->value(), |
| message_array.Pass(), |
| - mapper.size(), |
| + message_size, |
| default_url_string->value()); |
| } |