| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 754 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 765 | 765 |
| 766 OverlayCandidateList candidate_list; | 766 OverlayCandidateList candidate_list; |
| 767 RenderPassFilterList render_pass_filters; | 767 RenderPassFilterList render_pass_filters; |
| 768 RenderPassFilterList render_pass_background_filters; | 768 RenderPassFilterList render_pass_background_filters; |
| 769 overlay_processor_->ProcessForOverlays( | 769 overlay_processor_->ProcessForOverlays( |
| 770 resource_provider_.get(), pass.get(), render_pass_filters, | 770 resource_provider_.get(), pass.get(), render_pass_filters, |
| 771 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); | 771 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| 772 EXPECT_EQ(1U, candidate_list.size()); | 772 EXPECT_EQ(1U, candidate_list.size()); |
| 773 } | 773 } |
| 774 | 774 |
| 775 TEST_F(SingleOverlayOnTopTest, AllowVerticalFlip) { | 775 TEST_F(UnderlayTest, AllowVerticalFlip) { |
| 776 gfx::Rect rect = kOverlayRect; | 776 gfx::Rect rect = kOverlayRect; |
| 777 rect.set_width(rect.width() / 2); | 777 rect.set_width(rect.width() / 2); |
| 778 rect.Offset(0, -rect.height()); | 778 rect.Offset(0, -rect.height()); |
| 779 std::unique_ptr<RenderPass> pass = CreateRenderPass(); | 779 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 780 CreateCandidateQuadAt(resource_provider_.get(), | 780 CreateCandidateQuadAt(resource_provider_.get(), |
| 781 pass->shared_quad_state_list.back(), pass.get(), rect); | 781 pass->shared_quad_state_list.back(), pass.get(), rect); |
| 782 pass->shared_quad_state_list.back()->quad_to_target_transform.Scale(2.0f, | 782 pass->shared_quad_state_list.back()->quad_to_target_transform.Scale(2.0f, |
| 783 -1.0f); | 783 -1.0f); |
| 784 OverlayCandidateList candidate_list; | 784 OverlayCandidateList candidate_list; |
| 785 RenderPassFilterList render_pass_filters; | 785 RenderPassFilterList render_pass_filters; |
| 786 RenderPassFilterList render_pass_background_filters; | 786 RenderPassFilterList render_pass_background_filters; |
| 787 overlay_processor_->ProcessForOverlays( | 787 overlay_processor_->ProcessForOverlays( |
| 788 resource_provider_.get(), pass.get(), render_pass_filters, | 788 resource_provider_.get(), pass.get(), render_pass_filters, |
| 789 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); | 789 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| 790 ASSERT_EQ(1U, candidate_list.size()); | 790 ASSERT_EQ(1U, candidate_list.size()); |
| 791 EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL, | 791 EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL, |
| 792 candidate_list.back().transform); | 792 candidate_list.back().transform); |
| 793 } | 793 } |
| 794 | 794 |
| 795 TEST_F(SingleOverlayOnTopTest, AllowHorizontalFlip) { | 795 TEST_F(UnderlayTest, AllowHorizontalFlip) { |
| 796 gfx::Rect rect = kOverlayRect; | 796 gfx::Rect rect = kOverlayRect; |
| 797 rect.set_height(rect.height() / 2); | 797 rect.set_height(rect.height() / 2); |
| 798 rect.Offset(-rect.width(), 0); | 798 rect.Offset(-rect.width(), 0); |
| 799 std::unique_ptr<RenderPass> pass = CreateRenderPass(); | 799 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 800 CreateCandidateQuadAt(resource_provider_.get(), | 800 CreateCandidateQuadAt(resource_provider_.get(), |
| 801 pass->shared_quad_state_list.back(), pass.get(), rect); | 801 pass->shared_quad_state_list.back(), pass.get(), rect); |
| 802 pass->shared_quad_state_list.back()->quad_to_target_transform.Scale(-1.0f, | 802 pass->shared_quad_state_list.back()->quad_to_target_transform.Scale(-1.0f, |
| 803 2.0f); | 803 2.0f); |
| 804 | 804 |
| 805 OverlayCandidateList candidate_list; | 805 OverlayCandidateList candidate_list; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 823 1.0f); | 823 1.0f); |
| 824 OverlayCandidateList candidate_list; | 824 OverlayCandidateList candidate_list; |
| 825 RenderPassFilterList render_pass_filters; | 825 RenderPassFilterList render_pass_filters; |
| 826 RenderPassFilterList render_pass_background_filters; | 826 RenderPassFilterList render_pass_background_filters; |
| 827 overlay_processor_->ProcessForOverlays( | 827 overlay_processor_->ProcessForOverlays( |
| 828 resource_provider_.get(), pass.get(), render_pass_filters, | 828 resource_provider_.get(), pass.get(), render_pass_filters, |
| 829 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); | 829 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| 830 EXPECT_EQ(1U, candidate_list.size()); | 830 EXPECT_EQ(1U, candidate_list.size()); |
| 831 } | 831 } |
| 832 | 832 |
| 833 TEST_F(SingleOverlayOnTopTest, Allow90DegreeRotation) { | 833 TEST_F(SingleOverlayOnTopTest, RejectTransform) { |
| 834 gfx::Rect rect = kOverlayRect; | 834 gfx::Rect rect = kOverlayRect; |
| 835 rect.Offset(0, -rect.height()); | 835 rect.Offset(0, -rect.height()); |
| 836 std::unique_ptr<RenderPass> pass = CreateRenderPass(); | 836 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 837 CreateCandidateQuadAt(resource_provider_.get(), |
| 838 pass->shared_quad_state_list.back(), pass.get(), rect); |
| 839 pass->shared_quad_state_list.back() |
| 840 ->quad_to_target_transform.RotateAboutZAxis(90.f); |
| 841 |
| 842 OverlayCandidateList candidate_list; |
| 843 RenderPassFilterList render_pass_filters; |
| 844 RenderPassFilterList render_pass_background_filters; |
| 845 overlay_processor_->ProcessForOverlays( |
| 846 resource_provider_.get(), pass.get(), render_pass_filters, |
| 847 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| 848 ASSERT_EQ(0U, candidate_list.size()); |
| 849 } |
| 850 |
| 851 TEST_F(UnderlayTest, Allow90DegreeRotation) { |
| 852 gfx::Rect rect = kOverlayRect; |
| 853 rect.Offset(0, -rect.height()); |
| 854 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 837 CreateCandidateQuadAt(resource_provider_.get(), | 855 CreateCandidateQuadAt(resource_provider_.get(), |
| 838 pass->shared_quad_state_list.back(), pass.get(), rect); | 856 pass->shared_quad_state_list.back(), pass.get(), rect); |
| 839 pass->shared_quad_state_list.back() | 857 pass->shared_quad_state_list.back() |
| 840 ->quad_to_target_transform.RotateAboutZAxis(90.f); | 858 ->quad_to_target_transform.RotateAboutZAxis(90.f); |
| 841 | 859 |
| 842 OverlayCandidateList candidate_list; | 860 OverlayCandidateList candidate_list; |
| 843 RenderPassFilterList render_pass_filters; | 861 RenderPassFilterList render_pass_filters; |
| 844 RenderPassFilterList render_pass_background_filters; | 862 RenderPassFilterList render_pass_background_filters; |
| 845 overlay_processor_->ProcessForOverlays( | 863 overlay_processor_->ProcessForOverlays( |
| 846 resource_provider_.get(), pass.get(), render_pass_filters, | 864 resource_provider_.get(), pass.get(), render_pass_filters, |
| 847 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); | 865 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| 848 ASSERT_EQ(1U, candidate_list.size()); | 866 ASSERT_EQ(1U, candidate_list.size()); |
| 849 EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_90, candidate_list.back().transform); | 867 EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_90, candidate_list.back().transform); |
| 850 } | 868 } |
| 851 | 869 |
| 852 TEST_F(SingleOverlayOnTopTest, Allow180DegreeRotation) { | 870 TEST_F(UnderlayTest, Allow180DegreeRotation) { |
| 853 gfx::Rect rect = kOverlayRect; | 871 gfx::Rect rect = kOverlayRect; |
| 854 rect.Offset(-rect.width(), -rect.height()); | 872 rect.Offset(-rect.width(), -rect.height()); |
| 855 std::unique_ptr<RenderPass> pass = CreateRenderPass(); | 873 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 856 CreateCandidateQuadAt(resource_provider_.get(), | 874 CreateCandidateQuadAt(resource_provider_.get(), |
| 857 pass->shared_quad_state_list.back(), pass.get(), rect); | 875 pass->shared_quad_state_list.back(), pass.get(), rect); |
| 858 pass->shared_quad_state_list.back() | 876 pass->shared_quad_state_list.back() |
| 859 ->quad_to_target_transform.RotateAboutZAxis(180.f); | 877 ->quad_to_target_transform.RotateAboutZAxis(180.f); |
| 860 | 878 |
| 861 OverlayCandidateList candidate_list; | 879 OverlayCandidateList candidate_list; |
| 862 RenderPassFilterList render_pass_filters; | 880 RenderPassFilterList render_pass_filters; |
| 863 RenderPassFilterList render_pass_background_filters; | 881 RenderPassFilterList render_pass_background_filters; |
| 864 overlay_processor_->ProcessForOverlays( | 882 overlay_processor_->ProcessForOverlays( |
| 865 resource_provider_.get(), pass.get(), render_pass_filters, | 883 resource_provider_.get(), pass.get(), render_pass_filters, |
| 866 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); | 884 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| 867 ASSERT_EQ(1U, candidate_list.size()); | 885 ASSERT_EQ(1U, candidate_list.size()); |
| 868 EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_180, candidate_list.back().transform); | 886 EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_180, candidate_list.back().transform); |
| 869 } | 887 } |
| 870 | 888 |
| 871 TEST_F(SingleOverlayOnTopTest, Allow270DegreeRotation) { | 889 TEST_F(UnderlayTest, Allow270DegreeRotation) { |
| 872 gfx::Rect rect = kOverlayRect; | 890 gfx::Rect rect = kOverlayRect; |
| 873 rect.Offset(-rect.width(), 0); | 891 rect.Offset(-rect.width(), 0); |
| 874 std::unique_ptr<RenderPass> pass = CreateRenderPass(); | 892 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 875 CreateCandidateQuadAt(resource_provider_.get(), | 893 CreateCandidateQuadAt(resource_provider_.get(), |
| 876 pass->shared_quad_state_list.back(), pass.get(), rect); | 894 pass->shared_quad_state_list.back(), pass.get(), rect); |
| 877 pass->shared_quad_state_list.back() | 895 pass->shared_quad_state_list.back() |
| 878 ->quad_to_target_transform.RotateAboutZAxis(270.f); | 896 ->quad_to_target_transform.RotateAboutZAxis(270.f); |
| 879 | 897 |
| 880 OverlayCandidateList candidate_list; | 898 OverlayCandidateList candidate_list; |
| 881 RenderPassFilterList render_pass_filters; | 899 RenderPassFilterList render_pass_filters; |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 990 | 1008 |
| 991 OverlayCandidateList candidate_list; | 1009 OverlayCandidateList candidate_list; |
| 992 RenderPassFilterList render_pass_filters; | 1010 RenderPassFilterList render_pass_filters; |
| 993 RenderPassFilterList render_pass_background_filters; | 1011 RenderPassFilterList render_pass_background_filters; |
| 994 overlay_processor_->ProcessForOverlays( | 1012 overlay_processor_->ProcessForOverlays( |
| 995 resource_provider_.get(), pass.get(), render_pass_filters, | 1013 resource_provider_.get(), pass.get(), render_pass_filters, |
| 996 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); | 1014 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| 997 EXPECT_EQ(0U, candidate_list.size()); | 1015 EXPECT_EQ(0U, candidate_list.size()); |
| 998 } | 1016 } |
| 999 | 1017 |
| 1000 TEST_F(SingleOverlayOnTopTest, AllowVideoXMirrorTransform) { | 1018 TEST_F(UnderlayTest, AllowVideoXMirrorTransform) { |
| 1001 std::unique_ptr<RenderPass> pass = CreateRenderPass(); | 1019 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 1002 CreateFullscreenCandidateVideoQuad(resource_provider_.get(), | 1020 CreateFullscreenCandidateVideoQuad(resource_provider_.get(), |
| 1003 pass->shared_quad_state_list.back(), | 1021 pass->shared_quad_state_list.back(), |
| 1004 pass.get(), kXMirrorTransform); | 1022 pass.get(), kXMirrorTransform); |
| 1005 | 1023 |
| 1006 OverlayCandidateList candidate_list; | 1024 OverlayCandidateList candidate_list; |
| 1007 RenderPassFilterList render_pass_filters; | 1025 RenderPassFilterList render_pass_filters; |
| 1008 RenderPassFilterList render_pass_background_filters; | 1026 RenderPassFilterList render_pass_background_filters; |
| 1009 overlay_processor_->ProcessForOverlays( | 1027 overlay_processor_->ProcessForOverlays( |
| 1010 resource_provider_.get(), pass.get(), render_pass_filters, | 1028 resource_provider_.get(), pass.get(), render_pass_filters, |
| 1011 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); | 1029 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| 1012 EXPECT_EQ(1U, candidate_list.size()); | 1030 EXPECT_EQ(1U, candidate_list.size()); |
| 1013 } | 1031 } |
| 1014 | 1032 |
| 1015 TEST_F(SingleOverlayOnTopTest, AllowVideoBothMirrorTransform) { | 1033 TEST_F(UnderlayTest, AllowVideoBothMirrorTransform) { |
| 1016 std::unique_ptr<RenderPass> pass = CreateRenderPass(); | 1034 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 1017 CreateFullscreenCandidateVideoQuad(resource_provider_.get(), | 1035 CreateFullscreenCandidateVideoQuad(resource_provider_.get(), |
| 1018 pass->shared_quad_state_list.back(), | 1036 pass->shared_quad_state_list.back(), |
| 1019 pass.get(), kBothMirrorTransform); | 1037 pass.get(), kBothMirrorTransform); |
| 1020 | 1038 |
| 1021 OverlayCandidateList candidate_list; | 1039 OverlayCandidateList candidate_list; |
| 1022 RenderPassFilterList render_pass_filters; | 1040 RenderPassFilterList render_pass_filters; |
| 1023 RenderPassFilterList render_pass_background_filters; | 1041 RenderPassFilterList render_pass_background_filters; |
| 1024 overlay_processor_->ProcessForOverlays( | 1042 overlay_processor_->ProcessForOverlays( |
| 1025 resource_provider_.get(), pass.get(), render_pass_filters, | 1043 resource_provider_.get(), pass.get(), render_pass_filters, |
| 1026 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); | 1044 render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| 1027 EXPECT_EQ(1U, candidate_list.size()); | 1045 EXPECT_EQ(1U, candidate_list.size()); |
| 1028 } | 1046 } |
| 1029 | 1047 |
| 1030 TEST_F(SingleOverlayOnTopTest, AllowVideoNormalTransform) { | 1048 TEST_F(UnderlayTest, AllowVideoNormalTransform) { |
| 1031 std::unique_ptr<RenderPass> pass = CreateRenderPass(); | 1049 std::unique_ptr<RenderPass> pass = CreateRenderPass(); |
| 1032 CreateFullscreenCandidateVideoQuad(resource_provider_.get(), | 1050 CreateFullscreenCandidateVideoQuad(resource_provider_.get(), |
| 1033 pass->shared_quad_state_list.back(), | 1051 pass->shared_quad_state_list.back(), |
| 1034 pass.get(), kNormalTransform); | 1052 pass.get(), kNormalTransform); |
| 1035 | 1053 |
| 1036 OverlayCandidateList candidate_list; | 1054 OverlayCandidateList candidate_list; |
| 1037 RenderPassFilterList render_pass_filters; | 1055 RenderPassFilterList render_pass_filters; |
| 1038 RenderPassFilterList render_pass_background_filters; | 1056 RenderPassFilterList render_pass_background_filters; |
| 1039 overlay_processor_->ProcessForOverlays( | 1057 overlay_processor_->ProcessForOverlays( |
| 1040 resource_provider_.get(), pass.get(), render_pass_filters, | 1058 resource_provider_.get(), pass.get(), render_pass_filters, |
| (...skipping 959 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2000 kOverlayRect, render_pass_id_, 2, gfx::Vector2dF(), | 2018 kOverlayRect, render_pass_id_, 2, gfx::Vector2dF(), |
| 2001 gfx::Size(), gfx::Vector2dF(1, 1), gfx::PointF()); | 2019 gfx::Size(), gfx::Vector2dF(1, 1), gfx::PointF()); |
| 2002 } | 2020 } |
| 2003 | 2021 |
| 2004 ProcessForOverlays(); | 2022 ProcessForOverlays(); |
| 2005 EXPECT_EQ(0U, ca_layer_list_.size()); | 2023 EXPECT_EQ(0U, ca_layer_list_.size()); |
| 2006 } | 2024 } |
| 2007 | 2025 |
| 2008 } // namespace | 2026 } // namespace |
| 2009 } // namespace cc | 2027 } // namespace cc |
| OLD | NEW |