| 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 <string.h> | 7 #include <string.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 } | 136 } |
| 137 | 137 |
| 138 void Compare(const IOSurfaceDrawQuad* a, const IOSurfaceDrawQuad* b) { | 138 void Compare(const IOSurfaceDrawQuad* a, const IOSurfaceDrawQuad* b) { |
| 139 EXPECT_EQ(a->io_surface_size.ToString(), b->io_surface_size.ToString()); | 139 EXPECT_EQ(a->io_surface_size.ToString(), b->io_surface_size.ToString()); |
| 140 EXPECT_EQ(a->io_surface_resource_id, b->io_surface_resource_id); | 140 EXPECT_EQ(a->io_surface_resource_id, b->io_surface_resource_id); |
| 141 EXPECT_EQ(a->orientation, b->orientation); | 141 EXPECT_EQ(a->orientation, b->orientation); |
| 142 } | 142 } |
| 143 | 143 |
| 144 void Compare(const RenderPassDrawQuad* a, const RenderPassDrawQuad* b) { | 144 void Compare(const RenderPassDrawQuad* a, const RenderPassDrawQuad* b) { |
| 145 EXPECT_EQ(a->render_pass_id, b->render_pass_id); | 145 EXPECT_EQ(a->render_pass_id, b->render_pass_id); |
| 146 EXPECT_EQ(a->is_replica, b->is_replica); | |
| 147 EXPECT_EQ(a->mask_resource_id, b->mask_resource_id); | 146 EXPECT_EQ(a->mask_resource_id, b->mask_resource_id); |
| 148 EXPECT_EQ(a->contents_changed_since_last_frame, | |
| 149 b->contents_changed_since_last_frame); | |
| 150 EXPECT_EQ(a->mask_uv_rect.ToString(), b->mask_uv_rect.ToString()); | 147 EXPECT_EQ(a->mask_uv_rect.ToString(), b->mask_uv_rect.ToString()); |
| 151 EXPECT_EQ(a->filters.size(), b->filters.size()); | 148 EXPECT_EQ(a->filters.size(), b->filters.size()); |
| 152 for (size_t i = 0; i < a->filters.size(); ++i) { | 149 for (size_t i = 0; i < a->filters.size(); ++i) { |
| 153 if (a->filters.at(i).type() != cc::FilterOperation::REFERENCE) { | 150 if (a->filters.at(i).type() != cc::FilterOperation::REFERENCE) { |
| 154 EXPECT_EQ(a->filters.at(i), b->filters.at(i)); | 151 EXPECT_EQ(a->filters.at(i), b->filters.at(i)); |
| 155 } else { | 152 } else { |
| 156 EXPECT_EQ(b->filters.at(i).type(), cc::FilterOperation::REFERENCE); | 153 EXPECT_EQ(b->filters.at(i).type(), cc::FilterOperation::REFERENCE); |
| 157 EXPECT_EQ(a->filters.at(i).image_filter()->countInputs(), | 154 EXPECT_EQ(a->filters.at(i).image_filter()->countInputs(), |
| 158 b->filters.at(i).image_filter()->countInputs()); | 155 b->filters.at(i).image_filter()->countInputs()); |
| 159 } | 156 } |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 shared_state2_cmp->CopyFrom(shared_state2_in); | 355 shared_state2_cmp->CopyFrom(shared_state2_in); |
| 359 | 356 |
| 360 RenderPassDrawQuad* renderpass_in = | 357 RenderPassDrawQuad* renderpass_in = |
| 361 pass_in->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 358 pass_in->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 362 renderpass_in->SetAll(shared_state2_in, | 359 renderpass_in->SetAll(shared_state2_in, |
| 363 arbitrary_rect1, | 360 arbitrary_rect1, |
| 364 arbitrary_rect2_inside_rect1, | 361 arbitrary_rect2_inside_rect1, |
| 365 arbitrary_rect1_inside_rect1, | 362 arbitrary_rect1_inside_rect1, |
| 366 arbitrary_bool1, | 363 arbitrary_bool1, |
| 367 arbitrary_id, | 364 arbitrary_id, |
| 368 arbitrary_bool2, | |
| 369 arbitrary_resourceid2, | 365 arbitrary_resourceid2, |
| 370 arbitrary_rect1, | |
| 371 arbitrary_rectf1, | 366 arbitrary_rectf1, |
| 372 arbitrary_filters1, | 367 arbitrary_filters1, |
| 373 arbitrary_filters2); | 368 arbitrary_filters2); |
| 374 pass_cmp->CopyFromAndAppendRenderPassDrawQuad( | 369 pass_cmp->CopyFromAndAppendRenderPassDrawQuad( |
| 375 renderpass_in, | 370 renderpass_in, |
| 376 renderpass_in->shared_quad_state, | 371 renderpass_in->shared_quad_state, |
| 377 renderpass_in->render_pass_id); | 372 renderpass_in->render_pass_id); |
| 378 | 373 |
| 379 SharedQuadState* shared_state3_in = pass_in->CreateAndAppendSharedQuadState(); | 374 SharedQuadState* shared_state3_in = pass_in->CreateAndAppendSharedQuadState(); |
| 380 shared_state3_in->SetAll(arbitrary_matrix, | 375 shared_state3_in->SetAll(arbitrary_matrix, |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 682 DelegatedFrameData frame_out; | 677 DelegatedFrameData frame_out; |
| 683 PickleIterator iter(msg); | 678 PickleIterator iter(msg); |
| 684 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, | 679 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, |
| 685 &iter, &frame_out)); | 680 &iter, &frame_out)); |
| 686 | 681 |
| 687 ASSERT_EQ(2u, frame_out.resource_list.size()); | 682 ASSERT_EQ(2u, frame_out.resource_list.size()); |
| 688 Compare(arbitrary_resource1, frame_out.resource_list[0]); | 683 Compare(arbitrary_resource1, frame_out.resource_list[0]); |
| 689 Compare(arbitrary_resource2, frame_out.resource_list[1]); | 684 Compare(arbitrary_resource2, frame_out.resource_list[1]); |
| 690 } | 685 } |
| 691 | 686 |
| 692 TEST_F(CCMessagesTest, LargestQuadType) { | |
| 693 size_t largest = 0; | |
| 694 | |
| 695 bool done = false; | |
| 696 for (int i = 0; !done; ++i) { | |
| 697 switch (static_cast<DrawQuad::Material>(i)) { | |
| 698 case cc::DrawQuad::CHECKERBOARD: | |
| 699 largest = std::max(largest, sizeof(cc::CheckerboardDrawQuad)); | |
| 700 break; | |
| 701 case cc::DrawQuad::DEBUG_BORDER: | |
| 702 largest = std::max(largest, sizeof(cc::DebugBorderDrawQuad)); | |
| 703 break; | |
| 704 case cc::DrawQuad::IO_SURFACE_CONTENT: | |
| 705 largest = std::max(largest, sizeof(cc::IOSurfaceDrawQuad)); | |
| 706 break; | |
| 707 case cc::DrawQuad::PICTURE_CONTENT: | |
| 708 largest = std::max(largest, sizeof(cc::PictureDrawQuad)); | |
| 709 break; | |
| 710 case cc::DrawQuad::TEXTURE_CONTENT: | |
| 711 largest = std::max(largest, sizeof(cc::TextureDrawQuad)); | |
| 712 break; | |
| 713 case cc::DrawQuad::RENDER_PASS: | |
| 714 largest = std::max(largest, sizeof(cc::RenderPassDrawQuad)); | |
| 715 break; | |
| 716 case cc::DrawQuad::SOLID_COLOR: | |
| 717 largest = std::max(largest, sizeof(cc::SolidColorDrawQuad)); | |
| 718 break; | |
| 719 case cc::DrawQuad::SURFACE_CONTENT: | |
| 720 largest = std::max(largest, sizeof(cc::SurfaceDrawQuad)); | |
| 721 break; | |
| 722 case cc::DrawQuad::TILED_CONTENT: | |
| 723 largest = std::max(largest, sizeof(cc::TileDrawQuad)); | |
| 724 break; | |
| 725 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | |
| 726 largest = std::max(largest, sizeof(cc::StreamVideoDrawQuad)); | |
| 727 break; | |
| 728 case cc::DrawQuad::YUV_VIDEO_CONTENT: | |
| 729 largest = std::max(largest, sizeof(cc::YUVVideoDrawQuad)); | |
| 730 break; | |
| 731 case cc::DrawQuad::INVALID: | |
| 732 break; | |
| 733 default: | |
| 734 done = true; | |
| 735 } | |
| 736 } | |
| 737 | |
| 738 // Verify the largest DrawQuad type is RenderPassDrawQuad. If this ever | |
| 739 // changes, then the ReserveSizeForRenderPassWrite() method needs to be | |
| 740 // updated as well to use the new largest quad. | |
| 741 EXPECT_EQ(sizeof(RenderPassDrawQuad), largest); | |
| 742 } | |
| 743 | |
| 744 TEST_F(CCMessagesTest, SoftwareFrameData) { | 687 TEST_F(CCMessagesTest, SoftwareFrameData) { |
| 745 cc::SoftwareFrameData frame_in; | 688 cc::SoftwareFrameData frame_in; |
| 746 frame_in.id = 3; | 689 frame_in.id = 3; |
| 747 frame_in.size = gfx::Size(40, 20); | 690 frame_in.size = gfx::Size(40, 20); |
| 748 frame_in.damage_rect = gfx::Rect(5, 18, 31, 44); | 691 frame_in.damage_rect = gfx::Rect(5, 18, 31, 44); |
| 749 frame_in.bitmap_id = cc::SharedBitmap::GenerateId(); | 692 frame_in.bitmap_id = cc::SharedBitmap::GenerateId(); |
| 750 | 693 |
| 751 // Write the frame. | 694 // Write the frame. |
| 752 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL); | 695 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL); |
| 753 IPC::ParamTraits<cc::SoftwareFrameData>::Write(&msg, frame_in); | 696 IPC::ParamTraits<cc::SoftwareFrameData>::Write(&msg, frame_in); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 801 SoftwareFrameData frame_out; | 744 SoftwareFrameData frame_out; |
| 802 PickleIterator iter(msg); | 745 PickleIterator iter(msg); |
| 803 EXPECT_EQ( | 746 EXPECT_EQ( |
| 804 expect_read, | 747 expect_read, |
| 805 IPC::ParamTraits<SoftwareFrameData>::Read(&msg, &iter, &frame_out)); | 748 IPC::ParamTraits<SoftwareFrameData>::Read(&msg, &iter, &frame_out)); |
| 806 } | 749 } |
| 807 } | 750 } |
| 808 | 751 |
| 809 } // namespace | 752 } // namespace |
| 810 } // namespace content | 753 } // namespace content |
| OLD | NEW |