| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 #include <string.h> | 8 #include <string.h> |
| 9 | |
| 10 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <utility> |
| 11 | 11 |
| 12 #include "base/macros.h" | 12 #include "base/macros.h" |
| 13 #include "build/build_config.h" | 13 #include "build/build_config.h" |
| 14 #include "cc/output/compositor_frame.h" | 14 #include "cc/output/compositor_frame.h" |
| 15 #include "content/public/common/common_param_traits.h" | 15 #include "content/public/common/common_param_traits.h" |
| 16 #include "ipc/ipc_message.h" | 16 #include "ipc/ipc_message.h" |
| 17 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
| 18 #include "third_party/khronos/GLES2/gl2ext.h" | 18 #include "third_party/khronos/GLES2/gl2ext.h" |
| 19 #include "third_party/skia/include/effects/SkBlurImageFilter.h" | 19 #include "third_party/skia/include/effects/SkBlurImageFilter.h" |
| 20 | 20 |
| (...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 461 bool same_shared_quad_state_cmp = | 461 bool same_shared_quad_state_cmp = |
| 462 pass_cmp->quad_list.ElementAt(i)->shared_quad_state == | 462 pass_cmp->quad_list.ElementAt(i)->shared_quad_state == |
| 463 pass_cmp->quad_list.ElementAt(i - 1)->shared_quad_state; | 463 pass_cmp->quad_list.ElementAt(i - 1)->shared_quad_state; |
| 464 bool same_shared_quad_state_in = | 464 bool same_shared_quad_state_in = |
| 465 pass_in->quad_list.ElementAt(i)->shared_quad_state == | 465 pass_in->quad_list.ElementAt(i)->shared_quad_state == |
| 466 pass_in->quad_list.ElementAt(i - 1)->shared_quad_state; | 466 pass_in->quad_list.ElementAt(i - 1)->shared_quad_state; |
| 467 EXPECT_EQ(same_shared_quad_state_cmp, same_shared_quad_state_in); | 467 EXPECT_EQ(same_shared_quad_state_cmp, same_shared_quad_state_in); |
| 468 } | 468 } |
| 469 | 469 |
| 470 DelegatedFrameData frame_in; | 470 DelegatedFrameData frame_in; |
| 471 frame_in.render_pass_list.push_back(child_pass_in.Pass()); | 471 frame_in.render_pass_list.push_back(std::move(child_pass_in)); |
| 472 frame_in.render_pass_list.push_back(pass_in.Pass()); | 472 frame_in.render_pass_list.push_back(std::move(pass_in)); |
| 473 | 473 |
| 474 IPC::ParamTraits<DelegatedFrameData>::Write(&msg, frame_in); | 474 IPC::ParamTraits<DelegatedFrameData>::Write(&msg, frame_in); |
| 475 | 475 |
| 476 DelegatedFrameData frame_out; | 476 DelegatedFrameData frame_out; |
| 477 base::PickleIterator iter(msg); | 477 base::PickleIterator iter(msg); |
| 478 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, | 478 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, |
| 479 &iter, &frame_out)); | 479 &iter, &frame_out)); |
| 480 | 480 |
| 481 // Make sure the out and cmp RenderPasses match. | 481 // Make sure the out and cmp RenderPasses match. |
| 482 scoped_ptr<RenderPass> child_pass_out = frame_out.render_pass_list[0].Pass(); | 482 scoped_ptr<RenderPass> child_pass_out = |
| 483 std::move(frame_out.render_pass_list[0]); |
| 483 Compare(child_pass_cmp.get(), child_pass_out.get()); | 484 Compare(child_pass_cmp.get(), child_pass_out.get()); |
| 484 ASSERT_EQ(0u, child_pass_out->shared_quad_state_list.size()); | 485 ASSERT_EQ(0u, child_pass_out->shared_quad_state_list.size()); |
| 485 ASSERT_EQ(0u, child_pass_out->quad_list.size()); | 486 ASSERT_EQ(0u, child_pass_out->quad_list.size()); |
| 486 scoped_ptr<RenderPass> pass_out = frame_out.render_pass_list[1].Pass(); | 487 scoped_ptr<RenderPass> pass_out = std::move(frame_out.render_pass_list[1]); |
| 487 Compare(pass_cmp.get(), pass_out.get()); | 488 Compare(pass_cmp.get(), pass_out.get()); |
| 488 ASSERT_EQ(3u, pass_out->shared_quad_state_list.size()); | 489 ASSERT_EQ(3u, pass_out->shared_quad_state_list.size()); |
| 489 ASSERT_EQ(9u, pass_out->quad_list.size()); | 490 ASSERT_EQ(9u, pass_out->quad_list.size()); |
| 490 for (cc::SharedQuadStateList::ConstIterator | 491 for (cc::SharedQuadStateList::ConstIterator |
| 491 cmp_iterator = pass_cmp->shared_quad_state_list.begin(), | 492 cmp_iterator = pass_cmp->shared_quad_state_list.begin(), |
| 492 out_iterator = pass_out->shared_quad_state_list.begin(); | 493 out_iterator = pass_out->shared_quad_state_list.begin(); |
| 493 out_iterator != pass_out->shared_quad_state_list.end(); | 494 out_iterator != pass_out->shared_quad_state_list.end(); |
| 494 ++cmp_iterator, ++out_iterator) { | 495 ++cmp_iterator, ++out_iterator) { |
| 495 Compare(*cmp_iterator, *out_iterator); | 496 Compare(*cmp_iterator, *out_iterator); |
| 496 } | 497 } |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 false, | 582 false, |
| 582 1.f, | 583 1.f, |
| 583 SkXfermode::kSrcOver_Mode, | 584 SkXfermode::kSrcOver_Mode, |
| 584 0); | 585 0); |
| 585 | 586 |
| 586 // 5 SharedQuadStates go in. | 587 // 5 SharedQuadStates go in. |
| 587 ASSERT_EQ(5u, pass_in->shared_quad_state_list.size()); | 588 ASSERT_EQ(5u, pass_in->shared_quad_state_list.size()); |
| 588 ASSERT_EQ(2u, pass_in->quad_list.size()); | 589 ASSERT_EQ(2u, pass_in->quad_list.size()); |
| 589 | 590 |
| 590 DelegatedFrameData frame_in; | 591 DelegatedFrameData frame_in; |
| 591 frame_in.render_pass_list.push_back(pass_in.Pass()); | 592 frame_in.render_pass_list.push_back(std::move(pass_in)); |
| 592 | 593 |
| 593 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL); | 594 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL); |
| 594 IPC::ParamTraits<DelegatedFrameData>::Write(&msg, frame_in); | 595 IPC::ParamTraits<DelegatedFrameData>::Write(&msg, frame_in); |
| 595 | 596 |
| 596 DelegatedFrameData frame_out; | 597 DelegatedFrameData frame_out; |
| 597 base::PickleIterator iter(msg); | 598 base::PickleIterator iter(msg); |
| 598 EXPECT_TRUE( | 599 EXPECT_TRUE( |
| 599 IPC::ParamTraits<DelegatedFrameData>::Read(&msg, &iter, &frame_out)); | 600 IPC::ParamTraits<DelegatedFrameData>::Read(&msg, &iter, &frame_out)); |
| 600 | 601 |
| 601 scoped_ptr<RenderPass> pass_out = frame_out.render_pass_list[0].Pass(); | 602 scoped_ptr<RenderPass> pass_out = std::move(frame_out.render_pass_list[0]); |
| 602 | 603 |
| 603 // 2 SharedQuadStates come out. The first and fourth SharedQuadStates were | 604 // 2 SharedQuadStates come out. The first and fourth SharedQuadStates were |
| 604 // used by quads, and so serialized. Others were not. | 605 // used by quads, and so serialized. Others were not. |
| 605 ASSERT_EQ(2u, pass_out->shared_quad_state_list.size()); | 606 ASSERT_EQ(2u, pass_out->shared_quad_state_list.size()); |
| 606 ASSERT_EQ(2u, pass_out->quad_list.size()); | 607 ASSERT_EQ(2u, pass_out->quad_list.size()); |
| 607 | 608 |
| 608 EXPECT_EQ(gfx::Size(1, 1).ToString(), | 609 EXPECT_EQ(gfx::Size(1, 1).ToString(), |
| 609 pass_out->shared_quad_state_list.ElementAt(0) | 610 pass_out->shared_quad_state_list.ElementAt(0) |
| 610 ->quad_layer_bounds.ToString()); | 611 ->quad_layer_bounds.ToString()); |
| 611 EXPECT_EQ(gfx::Size(4, 4).ToString(), | 612 EXPECT_EQ(gfx::Size(4, 4).ToString(), |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 649 arbitrary_resource2.mailbox_holder.sync_token = arbitrary_token2; | 650 arbitrary_resource2.mailbox_holder.sync_token = arbitrary_token2; |
| 650 arbitrary_resource2.is_overlay_candidate = false; | 651 arbitrary_resource2.is_overlay_candidate = false; |
| 651 | 652 |
| 652 scoped_ptr<RenderPass> renderpass_in = RenderPass::Create(); | 653 scoped_ptr<RenderPass> renderpass_in = RenderPass::Create(); |
| 653 renderpass_in->SetNew( | 654 renderpass_in->SetNew( |
| 654 RenderPassId(1, 1), gfx::Rect(), gfx::Rect(), gfx::Transform()); | 655 RenderPassId(1, 1), gfx::Rect(), gfx::Rect(), gfx::Transform()); |
| 655 | 656 |
| 656 DelegatedFrameData frame_in; | 657 DelegatedFrameData frame_in; |
| 657 frame_in.resource_list.push_back(arbitrary_resource1); | 658 frame_in.resource_list.push_back(arbitrary_resource1); |
| 658 frame_in.resource_list.push_back(arbitrary_resource2); | 659 frame_in.resource_list.push_back(arbitrary_resource2); |
| 659 frame_in.render_pass_list.push_back(renderpass_in.Pass()); | 660 frame_in.render_pass_list.push_back(std::move(renderpass_in)); |
| 660 | 661 |
| 661 IPC::ParamTraits<DelegatedFrameData>::Write(&msg, frame_in); | 662 IPC::ParamTraits<DelegatedFrameData>::Write(&msg, frame_in); |
| 662 | 663 |
| 663 DelegatedFrameData frame_out; | 664 DelegatedFrameData frame_out; |
| 664 base::PickleIterator iter(msg); | 665 base::PickleIterator iter(msg); |
| 665 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, | 666 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, |
| 666 &iter, &frame_out)); | 667 &iter, &frame_out)); |
| 667 | 668 |
| 668 ASSERT_EQ(2u, frame_out.resource_list.size()); | 669 ASSERT_EQ(2u, frame_out.resource_list.size()); |
| 669 Compare(arbitrary_resource1, frame_out.resource_list[0]); | 670 Compare(arbitrary_resource1, frame_out.resource_list[0]); |
| 670 Compare(arbitrary_resource2, frame_out.resource_list[1]); | 671 Compare(arbitrary_resource2, frame_out.resource_list[1]); |
| 671 } | 672 } |
| 672 | 673 |
| 673 } // namespace | 674 } // namespace |
| 674 } // namespace content | 675 } // namespace content |
| OLD | NEW |