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 "content/common/cc_messages.h" | 5 #include "content/common/cc_messages.h" |
6 | 6 |
7 #include "cc/output/compositor_frame.h" | 7 #include "cc/output/compositor_frame.h" |
8 #include "cc/output/filter_operations.h" | 8 #include "cc/output/filter_operations.h" |
9 #include "content/public/common/common_param_traits.h" | 9 #include "content/public/common/common_param_traits.h" |
10 #include "content/public/common/content_switches.h" | 10 #include "content/public/common/content_switches.h" |
(...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
704 l->append(", "); | 704 l->append(", "); |
705 if (p.gl_frame_data) | 705 if (p.gl_frame_data) |
706 LogParam(*p.gl_frame_data, l); | 706 LogParam(*p.gl_frame_data, l); |
707 l->append(")"); | 707 l->append(")"); |
708 } | 708 } |
709 | 709 |
710 void ParamTraits<cc::DelegatedFrameData>::Write(Message* m, | 710 void ParamTraits<cc::DelegatedFrameData>::Write(Message* m, |
711 const param_type& p) { | 711 const param_type& p) { |
712 DCHECK_NE(0u, p.render_pass_list.size()); | 712 DCHECK_NE(0u, p.render_pass_list.size()); |
713 | 713 |
714 size_t to_reserve = sizeof(p.device_scale_factor); | 714 size_t to_reserve = p.resource_list.size() * sizeof(cc::TransferableResource); |
715 to_reserve += p.resource_list.size() * sizeof(cc::TransferableResource); | |
716 for (size_t i = 0; i < p.render_pass_list.size(); ++i) { | 715 for (size_t i = 0; i < p.render_pass_list.size(); ++i) { |
717 const cc::RenderPass* pass = p.render_pass_list[i]; | 716 const cc::RenderPass* pass = p.render_pass_list[i]; |
718 to_reserve += ReserveSizeForRenderPassWrite(*pass); | 717 to_reserve += ReserveSizeForRenderPassWrite(*pass); |
719 } | 718 } |
720 m->Reserve(to_reserve); | 719 m->Reserve(to_reserve); |
721 | 720 |
722 WriteParam(m, p.device_scale_factor); | |
723 WriteParam(m, p.resource_list); | 721 WriteParam(m, p.resource_list); |
724 WriteParam(m, p.render_pass_list.size()); | 722 WriteParam(m, p.render_pass_list.size()); |
725 for (size_t i = 0; i < p.render_pass_list.size(); ++i) | 723 for (size_t i = 0; i < p.render_pass_list.size(); ++i) |
726 WriteParam(m, *p.render_pass_list[i]); | 724 WriteParam(m, *p.render_pass_list[i]); |
727 } | 725 } |
728 | 726 |
729 bool ParamTraits<cc::DelegatedFrameData>::Read(const Message* m, | 727 bool ParamTraits<cc::DelegatedFrameData>::Read(const Message* m, |
730 PickleIterator* iter, | 728 PickleIterator* iter, |
731 param_type* p) { | 729 param_type* p) { |
732 if (!ReadParam(m, iter, &p->device_scale_factor)) | |
733 return false; | |
734 | |
735 const static size_t kMaxRenderPasses = 10000; | 730 const static size_t kMaxRenderPasses = 10000; |
736 | 731 |
737 size_t num_render_passes; | 732 size_t num_render_passes; |
738 if (!ReadParam(m, iter, &p->resource_list) || | 733 if (!ReadParam(m, iter, &p->resource_list) || |
739 !ReadParam(m, iter, &num_render_passes) || | 734 !ReadParam(m, iter, &num_render_passes) || |
740 num_render_passes > kMaxRenderPasses || num_render_passes == 0) | 735 num_render_passes > kMaxRenderPasses || num_render_passes == 0) |
741 return false; | 736 return false; |
742 for (size_t i = 0; i < num_render_passes; ++i) { | 737 for (size_t i = 0; i < num_render_passes; ++i) { |
743 scoped_ptr<cc::RenderPass> render_pass = cc::RenderPass::Create(); | 738 scoped_ptr<cc::RenderPass> render_pass = cc::RenderPass::Create(); |
744 if (!ReadParam(m, iter, render_pass.get())) | 739 if (!ReadParam(m, iter, render_pass.get())) |
745 return false; | 740 return false; |
746 p->render_pass_list.push_back(render_pass.Pass()); | 741 p->render_pass_list.push_back(render_pass.Pass()); |
747 } | 742 } |
748 return true; | 743 return true; |
749 } | 744 } |
750 | 745 |
751 void ParamTraits<cc::DelegatedFrameData>::Log(const param_type& p, | 746 void ParamTraits<cc::DelegatedFrameData>::Log(const param_type& p, |
752 std::string* l) { | 747 std::string* l) { |
753 l->append("DelegatedFrameData("); | 748 l->append("DelegatedFrameData("); |
754 LogParam(p.device_scale_factor, l); | |
755 LogParam(p.resource_list, l); | 749 LogParam(p.resource_list, l); |
756 l->append(", ["); | 750 l->append(", ["); |
757 for (size_t i = 0; i < p.render_pass_list.size(); ++i) { | 751 for (size_t i = 0; i < p.render_pass_list.size(); ++i) { |
758 if (i) | 752 if (i) |
759 l->append(", "); | 753 l->append(", "); |
760 LogParam(*p.render_pass_list[i], l); | 754 LogParam(*p.render_pass_list[i], l); |
761 } | 755 } |
762 l->append("])"); | 756 l->append("])"); |
763 } | 757 } |
764 | 758 |
(...skipping 30 matching lines...) Expand all Loading... |
795 l->append(", "); | 789 l->append(", "); |
796 LogParam(p.size, l); | 790 LogParam(p.size, l); |
797 l->append(", "); | 791 l->append(", "); |
798 LogParam(p.damage_rect, l); | 792 LogParam(p.damage_rect, l); |
799 l->append(", "); | 793 l->append(", "); |
800 LogParam(p.bitmap_id, l); | 794 LogParam(p.bitmap_id, l); |
801 l->append(")"); | 795 l->append(")"); |
802 } | 796 } |
803 | 797 |
804 } // namespace IPC | 798 } // namespace IPC |
OLD | NEW |