| 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 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 shared_state2_cmp->CopyFrom(shared_state2_in); | 357 shared_state2_cmp->CopyFrom(shared_state2_in); |
| 361 | 358 |
| 362 RenderPassDrawQuad* renderpass_in = | 359 RenderPassDrawQuad* renderpass_in = |
| 363 pass_in->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 360 pass_in->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 364 renderpass_in->SetAll(shared_state2_in, | 361 renderpass_in->SetAll(shared_state2_in, |
| 365 arbitrary_rect1, | 362 arbitrary_rect1, |
| 366 arbitrary_rect2_inside_rect1, | 363 arbitrary_rect2_inside_rect1, |
| 367 arbitrary_rect1_inside_rect1, | 364 arbitrary_rect1_inside_rect1, |
| 368 arbitrary_bool1, | 365 arbitrary_bool1, |
| 369 arbitrary_id, | 366 arbitrary_id, |
| 370 arbitrary_bool2, | |
| 371 arbitrary_resourceid2, | 367 arbitrary_resourceid2, |
| 372 arbitrary_rect1, | |
| 373 arbitrary_rectf1, | 368 arbitrary_rectf1, |
| 374 arbitrary_filters1, | 369 arbitrary_filters1, |
| 375 arbitrary_vector2df1, | 370 arbitrary_vector2df1, |
| 376 arbitrary_filters2); | 371 arbitrary_filters2); |
| 377 pass_cmp->CopyFromAndAppendRenderPassDrawQuad( | 372 pass_cmp->CopyFromAndAppendRenderPassDrawQuad( |
| 378 renderpass_in, | 373 renderpass_in, |
| 379 renderpass_in->shared_quad_state, | 374 renderpass_in->shared_quad_state, |
| 380 renderpass_in->render_pass_id); | 375 renderpass_in->render_pass_id); |
| 381 | 376 |
| 382 SharedQuadState* shared_state3_in = pass_in->CreateAndAppendSharedQuadState(); | 377 SharedQuadState* shared_state3_in = pass_in->CreateAndAppendSharedQuadState(); |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 DelegatedFrameData frame_out; | 680 DelegatedFrameData frame_out; |
| 686 PickleIterator iter(msg); | 681 PickleIterator iter(msg); |
| 687 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, | 682 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, |
| 688 &iter, &frame_out)); | 683 &iter, &frame_out)); |
| 689 | 684 |
| 690 ASSERT_EQ(2u, frame_out.resource_list.size()); | 685 ASSERT_EQ(2u, frame_out.resource_list.size()); |
| 691 Compare(arbitrary_resource1, frame_out.resource_list[0]); | 686 Compare(arbitrary_resource1, frame_out.resource_list[0]); |
| 692 Compare(arbitrary_resource2, frame_out.resource_list[1]); | 687 Compare(arbitrary_resource2, frame_out.resource_list[1]); |
| 693 } | 688 } |
| 694 | 689 |
| 695 TEST_F(CCMessagesTest, LargestQuadType) { | |
| 696 size_t largest = 0; | |
| 697 | |
| 698 bool done = false; | |
| 699 for (int i = 0; !done; ++i) { | |
| 700 switch (static_cast<DrawQuad::Material>(i)) { | |
| 701 case cc::DrawQuad::CHECKERBOARD: | |
| 702 largest = std::max(largest, sizeof(cc::CheckerboardDrawQuad)); | |
| 703 break; | |
| 704 case cc::DrawQuad::DEBUG_BORDER: | |
| 705 largest = std::max(largest, sizeof(cc::DebugBorderDrawQuad)); | |
| 706 break; | |
| 707 case cc::DrawQuad::IO_SURFACE_CONTENT: | |
| 708 largest = std::max(largest, sizeof(cc::IOSurfaceDrawQuad)); | |
| 709 break; | |
| 710 case cc::DrawQuad::PICTURE_CONTENT: | |
| 711 largest = std::max(largest, sizeof(cc::PictureDrawQuad)); | |
| 712 break; | |
| 713 case cc::DrawQuad::TEXTURE_CONTENT: | |
| 714 largest = std::max(largest, sizeof(cc::TextureDrawQuad)); | |
| 715 break; | |
| 716 case cc::DrawQuad::RENDER_PASS: | |
| 717 largest = std::max(largest, sizeof(cc::RenderPassDrawQuad)); | |
| 718 break; | |
| 719 case cc::DrawQuad::SOLID_COLOR: | |
| 720 largest = std::max(largest, sizeof(cc::SolidColorDrawQuad)); | |
| 721 break; | |
| 722 case cc::DrawQuad::SURFACE_CONTENT: | |
| 723 largest = std::max(largest, sizeof(cc::SurfaceDrawQuad)); | |
| 724 break; | |
| 725 case cc::DrawQuad::TILED_CONTENT: | |
| 726 largest = std::max(largest, sizeof(cc::TileDrawQuad)); | |
| 727 break; | |
| 728 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | |
| 729 largest = std::max(largest, sizeof(cc::StreamVideoDrawQuad)); | |
| 730 break; | |
| 731 case cc::DrawQuad::YUV_VIDEO_CONTENT: | |
| 732 largest = std::max(largest, sizeof(cc::YUVVideoDrawQuad)); | |
| 733 break; | |
| 734 case cc::DrawQuad::INVALID: | |
| 735 break; | |
| 736 default: | |
| 737 done = true; | |
| 738 } | |
| 739 } | |
| 740 | |
| 741 // Verify the largest DrawQuad type is RenderPassDrawQuad. If this ever | |
| 742 // changes, then the ReserveSizeForRenderPassWrite() method needs to be | |
| 743 // updated as well to use the new largest quad. | |
| 744 EXPECT_EQ(sizeof(RenderPassDrawQuad), largest); | |
| 745 } | |
| 746 | |
| 747 TEST_F(CCMessagesTest, SoftwareFrameData) { | 690 TEST_F(CCMessagesTest, SoftwareFrameData) { |
| 748 cc::SoftwareFrameData frame_in; | 691 cc::SoftwareFrameData frame_in; |
| 749 frame_in.id = 3; | 692 frame_in.id = 3; |
| 750 frame_in.size = gfx::Size(40, 20); | 693 frame_in.size = gfx::Size(40, 20); |
| 751 frame_in.damage_rect = gfx::Rect(5, 18, 31, 44); | 694 frame_in.damage_rect = gfx::Rect(5, 18, 31, 44); |
| 752 frame_in.bitmap_id = cc::SharedBitmap::GenerateId(); | 695 frame_in.bitmap_id = cc::SharedBitmap::GenerateId(); |
| 753 | 696 |
| 754 // Write the frame. | 697 // Write the frame. |
| 755 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL); | 698 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL); |
| 756 IPC::ParamTraits<cc::SoftwareFrameData>::Write(&msg, frame_in); | 699 IPC::ParamTraits<cc::SoftwareFrameData>::Write(&msg, frame_in); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 804 SoftwareFrameData frame_out; | 747 SoftwareFrameData frame_out; |
| 805 PickleIterator iter(msg); | 748 PickleIterator iter(msg); |
| 806 EXPECT_EQ( | 749 EXPECT_EQ( |
| 807 expect_read, | 750 expect_read, |
| 808 IPC::ParamTraits<SoftwareFrameData>::Read(&msg, &iter, &frame_out)); | 751 IPC::ParamTraits<SoftwareFrameData>::Read(&msg, &iter, &frame_out)); |
| 809 } | 752 } |
| 810 } | 753 } |
| 811 | 754 |
| 812 } // namespace | 755 } // namespace |
| 813 } // namespace content | 756 } // namespace content |
| OLD | NEW |