OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "webkit/plugins/ppapi/content_decryptor_delegate.h" | 5 #include "webkit/plugins/ppapi/content_decryptor_delegate.h" |
6 | 6 |
7 #include "base/callback_helpers.h" | 7 #include "base/callback_helpers.h" |
8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
9 #include "base/message_loop_proxy.h" | 9 #include "base/message_loop_proxy.h" |
10 #include "media/base/audio_decoder_config.h" | 10 #include "media/base/audio_decoder_config.h" |
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
633 | 633 |
634 StringVar* key_system_string = StringVar::FromPPVar(key_system_var); | 634 StringVar* key_system_string = StringVar::FromPPVar(key_system_var); |
635 StringVar* session_id_string = StringVar::FromPPVar(session_id_var); | 635 StringVar* session_id_string = StringVar::FromPPVar(session_id_var); |
636 StringVar* default_url_string = StringVar::FromPPVar(default_url_var); | 636 StringVar* default_url_string = StringVar::FromPPVar(default_url_var); |
637 | 637 |
638 if (!key_system_string || !session_id_string || !default_url_string) { | 638 if (!key_system_string || !session_id_string || !default_url_string) { |
639 decryptor_client_->KeyError("", "", media::Decryptor::kUnknownError, 0); | 639 decryptor_client_->KeyError("", "", media::Decryptor::kUnknownError, 0); |
640 return; | 640 return; |
641 } | 641 } |
642 | 642 |
643 EnterResourceNoLock<PPB_Buffer_API> enter(message_resource, true); | 643 scoped_array<uint8> message_array; |
644 if (!enter.succeeded()) { | 644 int message_size = 0; |
645 decryptor_client_->KeyError(key_system_string->value(), | 645 |
646 session_id_string->value(), | 646 if (message_resource) { |
647 media::Decryptor::kUnknownError, | 647 EnterResourceNoLock<PPB_Buffer_API> enter(message_resource, true); |
648 0); | 648 if (!enter.succeeded()) { |
649 return; | 649 decryptor_client_->KeyError(key_system_string->value(), |
650 session_id_string->value(), | |
651 media::Decryptor::kUnknownError, | |
652 0); | |
653 return; | |
654 } | |
655 | |
656 BufferAutoMapper mapper(enter.object()); | |
657 if (!mapper.data() || !mapper.size()) { | |
658 decryptor_client_->KeyError(key_system_string->value(), | |
659 session_id_string->value(), | |
660 media::Decryptor::kUnknownError, | |
661 0); | |
662 return; | |
663 } | |
664 | |
665 message_size = mapper.size(); | |
666 message_array.reset(new uint8[message_size]); | |
667 memcpy(message_array.get(), mapper.data(), mapper.size()); | |
650 } | 668 } |
651 | 669 |
652 BufferAutoMapper mapper(enter.object()); | 670 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.
| |
653 scoped_array<uint8> message_array(new uint8[mapper.size()]); | |
654 if (mapper.data() && mapper.size()) | |
655 memcpy(message_array.get(), mapper.data(), mapper.size()); | |
656 | 671 |
657 decryptor_client_->KeyMessage(key_system_string->value(), | 672 decryptor_client_->KeyMessage(key_system_string->value(), |
658 session_id_string->value(), | 673 session_id_string->value(), |
659 message_array.Pass(), | 674 message_array.Pass(), |
660 mapper.size(), | 675 message_size, |
661 default_url_string->value()); | 676 default_url_string->value()); |
662 } | 677 } |
663 | 678 |
664 void ContentDecryptorDelegate::KeyError(PP_Var key_system_var, | 679 void ContentDecryptorDelegate::KeyError(PP_Var key_system_var, |
665 PP_Var session_id_var, | 680 PP_Var session_id_var, |
666 int32_t media_error, | 681 int32_t media_error, |
667 int32_t system_code) { | 682 int32_t system_code) { |
668 if (!decryptor_client_) | 683 if (!decryptor_client_) |
669 return; | 684 return; |
670 | 685 |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
969 return false; | 984 return false; |
970 } | 985 } |
971 memcpy(mapper.data(), data, size); | 986 memcpy(mapper.data(), data, size); |
972 | 987 |
973 *resource = media_resource; | 988 *resource = media_resource; |
974 return true; | 989 return true; |
975 } | 990 } |
976 | 991 |
977 } // namespace ppapi | 992 } // namespace ppapi |
978 } // namespace webkit | 993 } // namespace webkit |
OLD | NEW |