Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Side by Side Diff: ppapi/proxy/ppp_content_decryptor_private_proxy.cc

Issue 552423003: PPAPI: Make CallWhileUnlocked more permissive. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | ppapi/proxy/ppp_printing_proxy.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "ppapi/proxy/ppp_content_decryptor_private_proxy.h" 5 #include "ppapi/proxy/ppp_content_decryptor_private_proxy.h"
6 6
7 #include "base/files/file.h" 7 #include "base/files/file.h"
8 #include "media/base/limits.h" 8 #include "media/base/limits.h"
9 #include "ppapi/c/pp_bool.h" 9 #include "ppapi/c/pp_bool.h"
10 #include "ppapi/c/ppb_core.h" 10 #include "ppapi/c/ppb_core.h"
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 PPB_Buffer_Proxy::AddProxyResource(encrypted_buffer.resource, 681 PPB_Buffer_Proxy::AddProxyResource(encrypted_buffer.resource,
682 encrypted_buffer.handle, 682 encrypted_buffer.handle,
683 encrypted_buffer.size)); 683 encrypted_buffer.size));
684 if (ppp_decryptor_impl_) { 684 if (ppp_decryptor_impl_) {
685 PP_EncryptedBlockInfo block_info; 685 PP_EncryptedBlockInfo block_info;
686 if (!DeserializeBlockInfo(serialized_block_info, &block_info)) 686 if (!DeserializeBlockInfo(serialized_block_info, &block_info))
687 return; 687 return;
688 CallWhileUnlocked(ppp_decryptor_impl_->Decrypt, 688 CallWhileUnlocked(ppp_decryptor_impl_->Decrypt,
689 instance, 689 instance,
690 plugin_resource.get(), 690 plugin_resource.get(),
691 const_cast<const PP_EncryptedBlockInfo*>(&block_info)); 691 &block_info);
692 } 692 }
693 } 693 }
694 694
695 void PPP_ContentDecryptor_Private_Proxy::OnMsgInitializeAudioDecoder( 695 void PPP_ContentDecryptor_Private_Proxy::OnMsgInitializeAudioDecoder(
696 PP_Instance instance, 696 PP_Instance instance,
697 const std::string& serialized_decoder_config, 697 const std::string& serialized_decoder_config,
698 const PPPDecryptor_Buffer& extra_data_buffer) { 698 const PPPDecryptor_Buffer& extra_data_buffer) {
699 ScopedPPResource plugin_resource; 699 ScopedPPResource plugin_resource;
700 if (extra_data_buffer.size > 0) { 700 if (extra_data_buffer.size > 0) {
701 plugin_resource = ScopedPPResource( 701 plugin_resource = ScopedPPResource(
702 ScopedPPResource::PassRef(), 702 ScopedPPResource::PassRef(),
703 PPB_Buffer_Proxy::AddProxyResource(extra_data_buffer.resource, 703 PPB_Buffer_Proxy::AddProxyResource(extra_data_buffer.resource,
704 extra_data_buffer.handle, 704 extra_data_buffer.handle,
705 extra_data_buffer.size)); 705 extra_data_buffer.size));
706 } 706 }
707 707
708 PP_AudioDecoderConfig decoder_config; 708 PP_AudioDecoderConfig decoder_config;
709 if (!DeserializeBlockInfo(serialized_decoder_config, &decoder_config)) 709 if (!DeserializeBlockInfo(serialized_decoder_config, &decoder_config))
710 return; 710 return;
711 711
712 if (ppp_decryptor_impl_) { 712 if (ppp_decryptor_impl_) {
713 CallWhileUnlocked( 713 CallWhileUnlocked(
714 ppp_decryptor_impl_->InitializeAudioDecoder, 714 ppp_decryptor_impl_->InitializeAudioDecoder,
715 instance, 715 instance,
716 const_cast<const PP_AudioDecoderConfig*>(&decoder_config), 716 &decoder_config,
717 plugin_resource.get()); 717 plugin_resource.get());
718 } 718 }
719 } 719 }
720 720
721 void PPP_ContentDecryptor_Private_Proxy::OnMsgInitializeVideoDecoder( 721 void PPP_ContentDecryptor_Private_Proxy::OnMsgInitializeVideoDecoder(
722 PP_Instance instance, 722 PP_Instance instance,
723 const std::string& serialized_decoder_config, 723 const std::string& serialized_decoder_config,
724 const PPPDecryptor_Buffer& extra_data_buffer) { 724 const PPPDecryptor_Buffer& extra_data_buffer) {
725 ScopedPPResource plugin_resource; 725 ScopedPPResource plugin_resource;
726 if (extra_data_buffer.resource.host_resource() != 0) { 726 if (extra_data_buffer.resource.host_resource() != 0) {
727 plugin_resource = ScopedPPResource( 727 plugin_resource = ScopedPPResource(
728 ScopedPPResource::PassRef(), 728 ScopedPPResource::PassRef(),
729 PPB_Buffer_Proxy::AddProxyResource(extra_data_buffer.resource, 729 PPB_Buffer_Proxy::AddProxyResource(extra_data_buffer.resource,
730 extra_data_buffer.handle, 730 extra_data_buffer.handle,
731 extra_data_buffer.size)); 731 extra_data_buffer.size));
732 } 732 }
733 733
734 PP_VideoDecoderConfig decoder_config; 734 PP_VideoDecoderConfig decoder_config;
735 if (!DeserializeBlockInfo(serialized_decoder_config, &decoder_config)) 735 if (!DeserializeBlockInfo(serialized_decoder_config, &decoder_config))
736 return; 736 return;
737 737
738 if (ppp_decryptor_impl_) { 738 if (ppp_decryptor_impl_) {
739 CallWhileUnlocked( 739 CallWhileUnlocked(
740 ppp_decryptor_impl_->InitializeVideoDecoder, 740 ppp_decryptor_impl_->InitializeVideoDecoder,
741 instance, 741 instance,
742 const_cast<const PP_VideoDecoderConfig*>(&decoder_config), 742 &decoder_config,
743 plugin_resource.get()); 743 plugin_resource.get());
744 } 744 }
745 } 745 }
746 746
747 void PPP_ContentDecryptor_Private_Proxy::OnMsgDeinitializeDecoder( 747 void PPP_ContentDecryptor_Private_Proxy::OnMsgDeinitializeDecoder(
748 PP_Instance instance, 748 PP_Instance instance,
749 PP_DecryptorStreamType decoder_type, 749 PP_DecryptorStreamType decoder_type,
750 uint32_t request_id) { 750 uint32_t request_id) {
751 if (ppp_decryptor_impl_) { 751 if (ppp_decryptor_impl_) {
752 CallWhileUnlocked( 752 CallWhileUnlocked(
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 786
787 if (ppp_decryptor_impl_) { 787 if (ppp_decryptor_impl_) {
788 PP_EncryptedBlockInfo block_info; 788 PP_EncryptedBlockInfo block_info;
789 if (!DeserializeBlockInfo(serialized_block_info, &block_info)) 789 if (!DeserializeBlockInfo(serialized_block_info, &block_info))
790 return; 790 return;
791 CallWhileUnlocked( 791 CallWhileUnlocked(
792 ppp_decryptor_impl_->DecryptAndDecode, 792 ppp_decryptor_impl_->DecryptAndDecode,
793 instance, 793 instance,
794 decoder_type, 794 decoder_type,
795 plugin_resource.get(), 795 plugin_resource.get(),
796 const_cast<const PP_EncryptedBlockInfo*>(&block_info)); 796 &block_info);
797 } 797 }
798 } 798 }
799 799
800 } // namespace proxy 800 } // namespace proxy
801 } // namespace ppapi 801 } // namespace ppapi
OLDNEW
« no previous file with comments | « no previous file | ppapi/proxy/ppp_printing_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698