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> |
| 10 |
9 #include "base/command_line.h" | 11 #include "base/command_line.h" |
10 #include "cc/output/compositor_frame.h" | 12 #include "cc/output/compositor_frame.h" |
11 #include "content/public/common/content_switches.h" | 13 #include "content/public/common/content_switches.h" |
12 #include "ipc/ipc_message.h" | 14 #include "ipc/ipc_message.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
14 #include "third_party/khronos/GLES2/gl2ext.h" | 16 #include "third_party/khronos/GLES2/gl2ext.h" |
15 #include "third_party/skia/include/effects/SkBlurImageFilter.h" | 17 #include "third_party/skia/include/effects/SkBlurImageFilter.h" |
16 | 18 |
17 using cc::CheckerboardDrawQuad; | 19 using cc::CheckerboardDrawQuad; |
18 using cc::DelegatedFrameData; | 20 using cc::DelegatedFrameData; |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
548 DelegatedFrameData frame_out; | 550 DelegatedFrameData frame_out; |
549 PickleIterator iter(msg); | 551 PickleIterator iter(msg); |
550 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, | 552 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, |
551 &iter, &frame_out)); | 553 &iter, &frame_out)); |
552 | 554 |
553 ASSERT_EQ(2u, frame_out.resource_list.size()); | 555 ASSERT_EQ(2u, frame_out.resource_list.size()); |
554 Compare(arbitrary_resource1, frame_out.resource_list[0]); | 556 Compare(arbitrary_resource1, frame_out.resource_list[0]); |
555 Compare(arbitrary_resource2, frame_out.resource_list[1]); | 557 Compare(arbitrary_resource2, frame_out.resource_list[1]); |
556 } | 558 } |
557 | 559 |
| 560 TEST_F(CCMessagesTest, LargestQuadType) { |
| 561 size_t largest = 0; |
| 562 |
| 563 bool done = false; |
| 564 for (int i = 0; !done; ++i) { |
| 565 switch (static_cast<DrawQuad::Material>(i)) { |
| 566 case cc::DrawQuad::CHECKERBOARD: |
| 567 largest = std::max(largest, sizeof(cc::CheckerboardDrawQuad)); |
| 568 break; |
| 569 case cc::DrawQuad::DEBUG_BORDER: |
| 570 largest = std::max(largest, sizeof(cc::DebugBorderDrawQuad)); |
| 571 break; |
| 572 case cc::DrawQuad::IO_SURFACE_CONTENT: |
| 573 largest = std::max(largest, sizeof(cc::IOSurfaceDrawQuad)); |
| 574 break; |
| 575 case cc::DrawQuad::PICTURE_CONTENT: |
| 576 largest = std::max(largest, sizeof(cc::PictureDrawQuad)); |
| 577 break; |
| 578 case cc::DrawQuad::TEXTURE_CONTENT: |
| 579 largest = std::max(largest, sizeof(cc::TextureDrawQuad)); |
| 580 break; |
| 581 case cc::DrawQuad::RENDER_PASS: |
| 582 largest = std::max(largest, sizeof(cc::RenderPassDrawQuad)); |
| 583 break; |
| 584 case cc::DrawQuad::SOLID_COLOR: |
| 585 largest = std::max(largest, sizeof(cc::SolidColorDrawQuad)); |
| 586 break; |
| 587 case cc::DrawQuad::TILED_CONTENT: |
| 588 largest = std::max(largest, sizeof(cc::TileDrawQuad)); |
| 589 break; |
| 590 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
| 591 largest = std::max(largest, sizeof(cc::StreamVideoDrawQuad)); |
| 592 break; |
| 593 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
| 594 largest = std::max(largest, sizeof(cc::YUVVideoDrawQuad)); |
| 595 break; |
| 596 case cc::DrawQuad::INVALID: |
| 597 break; |
| 598 default: |
| 599 done = true; |
| 600 } |
| 601 } |
| 602 |
| 603 // Verify the largest DrawQuad type is RenderPassDrawQuad. If this ever |
| 604 // changes, then the ReserveSizeForRenderPassWrite() method needs to be |
| 605 // updated as well to use the new largest quad. |
| 606 EXPECT_EQ(sizeof(RenderPassDrawQuad), largest); |
| 607 } |
| 608 |
558 } // namespace | 609 } // namespace |
559 } // namespace content | 610 } // namespace content |
OLD | NEW |