Chromium Code Reviews| Index: cc/output/overlay_unittest.cc |
| diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc |
| index 141878f4cfe948674b8d6c2c20b0f9f8ae5c8c81..b048ff6900557d8dfc79e159bf7dac0b9f9e10eb 100644 |
| --- a/cc/output/overlay_unittest.cc |
| +++ b/cc/output/overlay_unittest.cc |
| @@ -201,10 +201,8 @@ std::unique_ptr<RenderPass> CreateRenderPass() { |
| bool has_transparent_background = true; |
| std::unique_ptr<RenderPass> pass = RenderPass::Create(); |
| - pass->SetAll(id, |
| - output_rect, |
| - output_rect, |
| - gfx::Transform(), |
| + pass->SetAll(id, output_rect, output_rect, gfx::Transform(), |
|
danakj
2016/12/01 01:50:46
maybe..setnew?
ajuma
2016/12/13 15:08:11
Done.
|
| + FilterOperations(), FilterOperations(), |
| has_transparent_background); |
| SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); |
| @@ -417,9 +415,11 @@ TEST_F(FullscreenOverlayTest, SuccessfulOverlay) { |
| // Check for potential candidates. |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| RenderPass* main_pass = pass.get(); |
| @@ -440,9 +440,11 @@ TEST_F(FullscreenOverlayTest, ResourceSizeInPixelsFail) { |
| // Check for potential candidates. |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(0U, candidate_list.size()); |
| RenderPass* main_pass = pass.get(); |
| @@ -464,9 +466,11 @@ TEST_F(FullscreenOverlayTest, OnTopFail) { |
| // Check for potential candidates. |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(0U, candidate_list.size()); |
| RenderPass* main_pass = pass.get(); |
| @@ -484,9 +488,11 @@ TEST_F(FullscreenOverlayTest, NotCoveringFullscreenFail) { |
| // Check for potential candidates. |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(0U, candidate_list.size()); |
| RenderPass* main_pass = pass.get(); |
| @@ -511,9 +517,11 @@ TEST_F(FullscreenOverlayTest, RemoveFullscreenQuadFromQuadList) { |
| // Check for potential candidates. |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| // Check that the fullscreen quad is gone. |
| @@ -538,9 +546,11 @@ TEST_F(SingleOverlayOnTopTest, SuccessfulOverlay) { |
| // Check for potential candidates. |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| RenderPass* main_pass = pass.get(); |
| @@ -581,9 +591,11 @@ TEST_F(SingleOverlayOnTopTest, DamageRect) { |
| output_surface_plane.overlay_handled = true; |
| candidate_list.push_back(output_surface_plane); |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| DCHECK(damage_rect_.IsEmpty()); |
| } |
| @@ -601,9 +613,11 @@ TEST_F(SingleOverlayOnTopTest, NoCandidates) { |
| RenderPass::CopyAll(pass_list, &original_pass_list); |
| OverlayCandidateList candidate_list; |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| overlay_processor_->ProcessForOverlays( |
| - resource_provider_.get(), pass_list.back().get(), &candidate_list, |
| - nullptr, &damage_rect_); |
| + resource_provider_.get(), pass_list.back().get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| // There should be nothing new here. |
| CompareRenderPassLists(pass_list, original_pass_list); |
| @@ -627,9 +641,11 @@ TEST_F(SingleOverlayOnTopTest, OccludedCandidates) { |
| RenderPass::CopyAll(pass_list, &original_pass_list); |
| OverlayCandidateList candidate_list; |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| overlay_processor_->ProcessForOverlays( |
| - resource_provider_.get(), pass_list.back().get(), &candidate_list, |
| - nullptr, &damage_rect_); |
| + resource_provider_.get(), pass_list.back().get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| // There should be nothing new here. |
| CompareRenderPassLists(pass_list, original_pass_list); |
| @@ -650,9 +666,11 @@ TEST_F(SingleOverlayOnTopTest, MultipleRenderPasses) { |
| // Check for potential candidates. |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -665,9 +683,11 @@ TEST_F(SingleOverlayOnTopTest, RejectBlending) { |
| quad->needs_blending = true; |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| } |
| @@ -680,9 +700,11 @@ TEST_F(SingleOverlayOnTopTest, RejectBackgroundColor) { |
| quad->background_color = SK_ColorBLACK; |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| } |
| @@ -694,9 +716,11 @@ TEST_F(SingleOverlayOnTopTest, RejectBlendMode) { |
| pass->shared_quad_state_list.back()->blend_mode = SkBlendMode::kScreen; |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| } |
| @@ -708,9 +732,11 @@ TEST_F(SingleOverlayOnTopTest, RejectOpacity) { |
| pass->shared_quad_state_list.back()->opacity = 0.5f; |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| } |
| @@ -723,9 +749,11 @@ TEST_F(SingleOverlayOnTopTest, RejectNonAxisAlignedTransform) { |
| ->quad_to_target_transform.RotateAboutXAxis(45.f); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| } |
| @@ -738,9 +766,11 @@ TEST_F(SingleOverlayOnTopTest, AllowClipped) { |
| pass->shared_quad_state_list.back()->clip_rect = kOverlayClipRect; |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -754,9 +784,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVerticalFlip) { |
| pass->shared_quad_state_list.back()->quad_to_target_transform.Scale(2.0f, |
| -1.0f); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL, |
| candidate_list.back().transform); |
| @@ -773,9 +805,11 @@ TEST_F(SingleOverlayOnTopTest, AllowHorizontalFlip) { |
| 2.0f); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_HORIZONTAL, |
| candidate_list.back().transform); |
| @@ -790,9 +824,11 @@ TEST_F(SingleOverlayOnTopTest, AllowPositiveScaleTransform) { |
| pass->shared_quad_state_list.back()->quad_to_target_transform.Scale(2.0f, |
| 1.0f); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -806,9 +842,11 @@ TEST_F(SingleOverlayOnTopTest, Allow90DegreeRotation) { |
| ->quad_to_target_transform.RotateAboutZAxis(90.f); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_90, candidate_list.back().transform); |
| } |
| @@ -823,9 +861,11 @@ TEST_F(SingleOverlayOnTopTest, Allow180DegreeRotation) { |
| ->quad_to_target_transform.RotateAboutZAxis(180.f); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_180, candidate_list.back().transform); |
| } |
| @@ -840,9 +880,11 @@ TEST_F(SingleOverlayOnTopTest, Allow270DegreeRotation) { |
| ->quad_to_target_transform.RotateAboutZAxis(270.f); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_270, candidate_list.back().transform); |
| } |
| @@ -858,9 +900,11 @@ TEST_F(SingleOverlayOnTopTest, AllowNotTopIfNotOccluded) { |
| kOverlayBottomRightRect); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -876,9 +920,11 @@ TEST_F(SingleOverlayOnTopTest, AllowTransparentOnTop) { |
| kOverlayBottomRightRect); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -892,9 +938,11 @@ TEST_F(SingleOverlayOnTopTest, AllowTransparentColorOnTop) { |
| kOverlayBottomRightRect); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -910,9 +958,11 @@ TEST_F(SingleOverlayOnTopTest, RejectOpaqueColorOnTop) { |
| kOverlayBottomRightRect); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| } |
| @@ -926,9 +976,11 @@ TEST_F(SingleOverlayOnTopTest, RejectTransparentColorOnTopWithoutBlending) { |
| kOverlayBottomRightRect); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| } |
| @@ -939,9 +991,11 @@ TEST_F(SingleOverlayOnTopTest, RejectVideoSwapTransform) { |
| pass.get(), kSwapTransform); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(0U, candidate_list.size()); |
| } |
| @@ -952,9 +1006,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoXMirrorTransform) { |
| pass.get(), kXMirrorTransform); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -965,9 +1021,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoBothMirrorTransform) { |
| pass.get(), kBothMirrorTransform); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -978,9 +1036,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoNormalTransform) { |
| pass.get(), kNormalTransform); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -991,9 +1051,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoYMirrorTransform) { |
| pass.get(), kYMirrorTransform); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(1U, candidate_list.size()); |
| } |
| @@ -1006,9 +1068,11 @@ TEST_F(UnderlayTest, OverlayLayerUnderMainLayer) { |
| kOverlayBottomRightRect); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| EXPECT_EQ(-1, candidate_list[0].plane_z_order); |
| EXPECT_EQ(2U, pass->quad_list.size()); |
| @@ -1026,9 +1090,11 @@ TEST_F(UnderlayTest, AllowOnTop) { |
| pass->shared_quad_state_list.back(), pass.get()); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| ASSERT_EQ(1U, candidate_list.size()); |
| EXPECT_EQ(-1, candidate_list[0].plane_z_order); |
| // The overlay quad should have changed to a SOLID_COLOR quad. |
| @@ -1045,9 +1111,11 @@ TEST_F(UnderlayTest, InitialUnderlayDamageNotSubtracted) { |
| damage_rect_ = kOverlayRect; |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); |
| EXPECT_EQ(kOverlayRect, damage_rect_); |
| } |
| @@ -1068,9 +1136,12 @@ TEST_F(UnderlayTest, DamageSubtractedForConsecutiveIdenticalUnderlays) { |
| pass->shared_quad_state_list.back(), pass.get()); |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, |
| + &damage_rect_); |
| } |
| // The second time the same overlay rect is scheduled it will be subtracted |
| @@ -1092,9 +1163,12 @@ TEST_F(UnderlayTest, DamageNotSubtractedForNonIdenticalConsecutiveUnderlays) { |
| damage_rect_ = overlay_rects[i]; |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, |
| + &damage_rect_); |
| EXPECT_EQ(overlay_rects[i], damage_rect_); |
| } |
| @@ -1113,9 +1187,12 @@ TEST_F(UnderlayTest, DamageNotSubtractedWhenQuadsAboveOverlap) { |
| damage_rect_ = kOverlayRect; |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, |
| + &damage_rect_); |
| } |
| EXPECT_EQ(kOverlayRect, damage_rect_); |
| @@ -1135,9 +1212,12 @@ TEST_F(UnderlayTest, DamageSubtractedWhenQuadsAboveDontOverlap) { |
| damage_rect_ = kOverlayBottomRightRect; |
| OverlayCandidateList candidate_list; |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &candidate_list, nullptr, |
| - &damage_rect_); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &candidate_list, nullptr, |
| + &damage_rect_); |
| } |
| EXPECT_TRUE(damage_rect_.IsEmpty()); |
| @@ -1166,9 +1246,12 @@ TEST_F(CALayerOverlayTest, AllowNonAxisAlignedTransform) { |
| gfx::Rect damage_rect; |
| CALayerOverlayList ca_layer_list; |
| OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get())); |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &overlay_list, &ca_layer_list, |
| - &damage_rect); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &overlay_list, &ca_layer_list, |
| + &damage_rect); |
| EXPECT_EQ(gfx::Rect(), damage_rect); |
| EXPECT_EQ(0U, overlay_list.size()); |
| EXPECT_EQ(1U, ca_layer_list.size()); |
| @@ -1186,9 +1269,12 @@ TEST_F(CALayerOverlayTest, ThreeDTransform) { |
| gfx::Rect damage_rect; |
| CALayerOverlayList ca_layer_list; |
| OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get())); |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &overlay_list, &ca_layer_list, |
| - &damage_rect); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &overlay_list, &ca_layer_list, |
| + &damage_rect); |
| EXPECT_EQ(0U, overlay_list.size()); |
| EXPECT_EQ(1U, ca_layer_list.size()); |
| gfx::Transform expected_transform; |
| @@ -1209,9 +1295,12 @@ TEST_F(CALayerOverlayTest, AllowContainingClip) { |
| gfx::Rect damage_rect; |
| CALayerOverlayList ca_layer_list; |
| OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get())); |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &overlay_list, &ca_layer_list, |
| - &damage_rect); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &overlay_list, &ca_layer_list, |
| + &damage_rect); |
| EXPECT_EQ(gfx::Rect(), damage_rect); |
| EXPECT_EQ(0U, overlay_list.size()); |
| EXPECT_EQ(1U, ca_layer_list.size()); |
| @@ -1229,9 +1318,12 @@ TEST_F(CALayerOverlayTest, NontrivialClip) { |
| gfx::Rect damage_rect; |
| CALayerOverlayList ca_layer_list; |
| OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get())); |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &overlay_list, &ca_layer_list, |
| - &damage_rect); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &overlay_list, &ca_layer_list, |
| + &damage_rect); |
| EXPECT_EQ(gfx::Rect(), damage_rect); |
| EXPECT_EQ(0U, overlay_list.size()); |
| EXPECT_EQ(1U, ca_layer_list.size()); |
| @@ -1251,9 +1343,12 @@ TEST_F(CALayerOverlayTest, SkipTransparent) { |
| gfx::Rect damage_rect; |
| CALayerOverlayList ca_layer_list; |
| OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get())); |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(), |
| - &overlay_list, &ca_layer_list, |
| - &damage_rect); |
| + RenderPassFilterList render_pass_filters; |
| + RenderPassFilterList render_pass_background_filters; |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass.get(), render_pass_filters, |
| + render_pass_background_filters, &overlay_list, &ca_layer_list, |
| + &damage_rect); |
| EXPECT_EQ(gfx::Rect(), damage_rect); |
| EXPECT_EQ(0U, overlay_list.size()); |
| EXPECT_EQ(0U, ca_layer_list.size()); |
| @@ -1778,15 +1873,18 @@ class CALayerOverlayRPDQTest : public CALayerOverlayTest { |
| void ProcessForOverlays() { |
| gfx::Rect damage_rect; |
| overlay_list_ = BackbufferOverlayList(pass_.get()); |
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), |
| - pass_.get(), &overlay_list_, |
| - &ca_layer_list_, &damage_rect); |
| + overlay_processor_->ProcessForOverlays( |
| + resource_provider_.get(), pass_.get(), render_pass_filters_, |
| + render_pass_background_filters_, &overlay_list_, &ca_layer_list_, |
| + &damage_rect); |
| } |
| std::unique_ptr<RenderPass> pass_; |
| RenderPassDrawQuad* quad_; |
| RenderPassId render_pass_id_; |
| FilterOperations filters_; |
| FilterOperations background_filters_; |
| + RenderPassFilterList render_pass_filters_; |
| + RenderPassFilterList render_pass_background_filters_; |
| CALayerOverlayList ca_layer_list_; |
| OverlayCandidateList overlay_list_; |
| }; |
| @@ -1794,8 +1892,7 @@ class CALayerOverlayRPDQTest : public CALayerOverlayTest { |
| TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadNoFilters) { |
| quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
| kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(), |
| - filters_, gfx::Vector2dF(1, 1), gfx::PointF(), |
| - background_filters_); |
| + gfx::Vector2dF(1, 1), gfx::PointF()); |
| ProcessForOverlays(); |
| EXPECT_EQ(1U, ca_layer_list_.size()); |
| @@ -1813,10 +1910,10 @@ TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadAllValidFilters) { |
| filters_.Append(FilterOperation::CreateBlurFilter(0.9f)); |
| filters_.Append(FilterOperation::CreateDropShadowFilter(gfx::Point(10, 20), |
| 1.0f, SK_ColorGREEN)); |
| + render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_)); |
| quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
| kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(), |
| - filters_, gfx::Vector2dF(1, 1), gfx::PointF(), |
| - background_filters_); |
| + gfx::Vector2dF(1, 1), gfx::PointF()); |
| ProcessForOverlays(); |
| EXPECT_EQ(1U, ca_layer_list_.size()); |
| @@ -1824,20 +1921,20 @@ TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadAllValidFilters) { |
| TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadOpacityFilterScale) { |
| filters_.Append(FilterOperation::CreateOpacityFilter(0.8f)); |
| + render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_)); |
| quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
| kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(), |
| - filters_, gfx::Vector2dF(1, 2), gfx::PointF(), |
| - background_filters_); |
| + gfx::Vector2dF(1, 2), gfx::PointF()); |
| ProcessForOverlays(); |
| EXPECT_EQ(1U, ca_layer_list_.size()); |
| } |
| TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadBlurFilterScale) { |
| filters_.Append(FilterOperation::CreateBlurFilter(0.8f)); |
| + render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_)); |
| quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
| kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(), |
| - filters_, gfx::Vector2dF(1, 2), gfx::PointF(), |
| - background_filters_); |
| + gfx::Vector2dF(1, 2), gfx::PointF()); |
| ProcessForOverlays(); |
| EXPECT_EQ(1U, ca_layer_list_.size()); |
| } |
| @@ -1845,20 +1942,21 @@ TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadBlurFilterScale) { |
| TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadDropShadowFilterScale) { |
| filters_.Append(FilterOperation::CreateDropShadowFilter(gfx::Point(10, 20), |
| 1.0f, SK_ColorGREEN)); |
| + render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_)); |
| quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
| kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(), |
| - filters_, gfx::Vector2dF(1, 2), gfx::PointF(), |
| - background_filters_); |
| + gfx::Vector2dF(1, 2), gfx::PointF()); |
| ProcessForOverlays(); |
| EXPECT_EQ(1U, ca_layer_list_.size()); |
| } |
| TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadBackgroundFilter) { |
| background_filters_.Append(FilterOperation::CreateGrayscaleFilter(0.1f)); |
| + render_pass_background_filters_.push_back( |
| + std::make_pair(render_pass_id_, background_filters_)); |
| quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
| kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(), |
| - filters_, gfx::Vector2dF(1, 1), gfx::PointF(), |
| - background_filters_); |
| + gfx::Vector2dF(1, 1), gfx::PointF()); |
| ProcessForOverlays(); |
| EXPECT_EQ(0U, ca_layer_list_.size()); |
| } |
| @@ -1866,18 +1964,17 @@ TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadBackgroundFilter) { |
| TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadMask) { |
| quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
| kOverlayRect, render_pass_id_, 2, gfx::Vector2dF(), gfx::Size(), |
| - filters_, gfx::Vector2dF(1, 1), gfx::PointF(), |
| - background_filters_); |
| + gfx::Vector2dF(1, 1), gfx::PointF()); |
| ProcessForOverlays(); |
| EXPECT_EQ(1U, ca_layer_list_.size()); |
| } |
| TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadUnsupportedFilter) { |
| filters_.Append(FilterOperation::CreateZoomFilter(0.9f, 1)); |
| + render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_)); |
| quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
| kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(), |
| - filters_, gfx::Vector2dF(1, 1), gfx::PointF(), |
| - background_filters_); |
| + gfx::Vector2dF(1, 1), gfx::PointF()); |
| ProcessForOverlays(); |
| EXPECT_EQ(0U, ca_layer_list_.size()); |
| } |
| @@ -1891,8 +1988,7 @@ TEST_F(CALayerOverlayRPDQTest, TooManyRenderPassDrawQuads) { |
| pass_->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| quad->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect, |
| kOverlayRect, render_pass_id_, 2, gfx::Vector2dF(), |
| - gfx::Size(), filters_, gfx::Vector2dF(1, 1), gfx::PointF(), |
| - background_filters_); |
| + gfx::Size(), gfx::Vector2dF(1, 1), gfx::PointF()); |
| } |
| ProcessForOverlays(); |