| Index: cc/output/overlay_unittest.cc
|
| diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc
|
| index f15f13f43cab54bc5e9fc9d4f83a6fea9573688a..722002e5580e203359fbbd4a954afac2844179c7 100644
|
| --- a/cc/output/overlay_unittest.cc
|
| +++ b/cc/output/overlay_unittest.cc
|
| @@ -366,7 +366,6 @@
|
| scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
|
| scoped_ptr<ResourceProvider> resource_provider_;
|
| scoped_ptr<OverlayProcessor> overlay_processor_;
|
| - gfx::Rect damage_rect_;
|
| };
|
|
|
| typedef OverlayTest<SingleOnTopOverlayValidator> SingleOverlayOnTopTest;
|
| @@ -420,7 +419,7 @@
|
| // Check for potential candidates.
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
|
|
| ASSERT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(1U, candidate_list.size());
|
| @@ -462,7 +461,7 @@
|
| // Check for potential candidates.
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
|
|
| // Ensure that the display and uv rects have cropping applied to them.
|
| ASSERT_EQ(1U, pass_list.size());
|
| @@ -491,7 +490,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
|
|
| // Both candidates should become overlays.
|
| EXPECT_EQ(1u, pass_list.size());
|
| @@ -525,7 +524,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
|
|
| // Only one of the candidates should become an overlay.
|
| EXPECT_EQ(1u, pass_list.size());
|
| @@ -560,7 +559,8 @@
|
| // Check for potential candidates.
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| +
|
| ASSERT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(2U, candidate_list.size());
|
|
|
| @@ -615,7 +615,7 @@
|
| OverlayCandidateList candidate_list;
|
| EXPECT_EQ(4U, main_pass->quad_list.size());
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(3U, candidate_list.size());
|
|
|
| @@ -667,7 +667,7 @@
|
| // Check for potential candidates.
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
|
|
| ASSERT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(1U, candidate_list.size());
|
| @@ -686,35 +686,37 @@
|
| EXPECT_EQ(original_resource_id, candidate_list.back().resource_id);
|
| }
|
|
|
| -TEST_F(SingleOverlayOnTopTest, DamageRect) {
|
| - scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| +TEST_F(SingleOverlayOnTopTest, NoCandidates) {
|
| + scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| + CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(), pass.get());
|
| + CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(), pass.get());
|
| +
|
| + RenderPassList pass_list;
|
| + pass_list.push_back(pass.Pass());
|
| +
|
| + RenderPassList original_pass_list;
|
| + RenderPass::CopyAll(pass_list, &original_pass_list);
|
| +
|
| + OverlayCandidateList candidate_list;
|
| + overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| + &candidate_list);
|
| + EXPECT_EQ(0U, candidate_list.size());
|
| + // There should be nothing new here.
|
| + CompareRenderPassLists(pass_list, original_pass_list);
|
| +}
|
| +
|
| +TEST_F(SingleOverlayOnTopTest, OccludedCandidates) {
|
| + scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| + CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(), pass.get());
|
| + CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(), pass.get());
|
| +
|
| CreateFullscreenCandidateQuad(resource_provider_.get(),
|
| pass->shared_quad_state_list.back(),
|
| pass.get());
|
| - damage_rect_ = kOverlayRect;
|
| -
|
| - // Add something behind it.
|
| - CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back(), pass.get());
|
| - CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back(), pass.get());
|
| -
|
| - RenderPassList pass_list;
|
| - pass_list.push_back(pass.Pass());
|
| -
|
| - // Check for potential candidates.
|
| - OverlayCandidateList candidate_list;
|
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| - DCHECK(damage_rect_.IsEmpty());
|
| -}
|
| -
|
| -TEST_F(SingleOverlayOnTopTest, NoCandidates) {
|
| - scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back(), pass.get());
|
| - CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back(), pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -724,62 +726,37 @@
|
|
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(0U, candidate_list.size());
|
| // There should be nothing new here.
|
| CompareRenderPassLists(pass_list, original_pass_list);
|
| }
|
|
|
| -TEST_F(SingleOverlayOnTopTest, OccludedCandidates) {
|
| - scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back(), pass.get());
|
| - CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back(), pass.get());
|
| -
|
| +// Test with multiple render passes.
|
| +TEST_F(SingleOverlayOnTopTest, MultipleRenderPasses) {
|
| + RenderPassList pass_list;
|
| + pass_list.push_back(CreateRenderPass());
|
| +
|
| + scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| CreateFullscreenCandidateQuad(resource_provider_.get(),
|
| pass->shared_quad_state_list.back(),
|
| pass.get());
|
|
|
| - RenderPassList pass_list;
|
| + // Add something behind it.
|
| + CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(), pass.get());
|
| + CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(), pass.get());
|
| +
|
| pass_list.push_back(pass.Pass());
|
|
|
| RenderPassList original_pass_list;
|
| RenderPass::CopyAll(pass_list, &original_pass_list);
|
|
|
| - OverlayCandidateList candidate_list;
|
| - overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| - EXPECT_EQ(0U, candidate_list.size());
|
| - // There should be nothing new here.
|
| - CompareRenderPassLists(pass_list, original_pass_list);
|
| -}
|
| -
|
| -// Test with multiple render passes.
|
| -TEST_F(SingleOverlayOnTopTest, MultipleRenderPasses) {
|
| - RenderPassList pass_list;
|
| - pass_list.push_back(CreateRenderPass());
|
| -
|
| - scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - CreateFullscreenCandidateQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back(),
|
| - pass.get());
|
| -
|
| - // Add something behind it.
|
| - CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back(), pass.get());
|
| - CreateFullscreenOpaqueQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back(), pass.get());
|
| -
|
| - pass_list.push_back(pass.Pass());
|
| -
|
| - RenderPassList original_pass_list;
|
| - RenderPass::CopyAll(pass_list, &original_pass_list);
|
| -
|
| // Check for potential candidates.
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(1U, candidate_list.size());
|
|
|
| // This should be the same.
|
| @@ -798,7 +775,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(0U, candidate_list.size());
|
| }
|
| @@ -815,7 +792,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(0U, candidate_list.size());
|
| }
|
| @@ -832,7 +809,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(0U, candidate_list.size());
|
| }
|
| @@ -848,7 +825,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(0U, candidate_list.size());
|
| }
|
| @@ -864,7 +841,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(0U, candidate_list.size());
|
| }
|
| @@ -881,7 +858,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(0U, candidate_list.size());
|
| }
|
| @@ -898,7 +875,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(1U, candidate_list.size());
|
| }
|
| @@ -917,7 +894,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(1U, candidate_list.size());
|
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL,
|
| @@ -938,7 +915,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(1U, candidate_list.size());
|
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_HORIZONTAL,
|
| @@ -958,7 +935,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(1U, candidate_list.size());
|
| }
|
| @@ -976,7 +953,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(1U, candidate_list.size());
|
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_90, candidate_list.back().transform);
|
| @@ -995,7 +972,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(1U, candidate_list.size());
|
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_180, candidate_list.back().transform);
|
| @@ -1014,7 +991,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(1U, candidate_list.size());
|
| EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_270, candidate_list.back().transform);
|
| @@ -1038,7 +1015,7 @@
|
|
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(1U, candidate_list.size());
|
| }
|
| @@ -1062,7 +1039,7 @@
|
|
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(1U, candidate_list.size());
|
| }
|
| @@ -1084,7 +1061,7 @@
|
|
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(1U, candidate_list.size());
|
| }
|
| @@ -1108,7 +1085,7 @@
|
|
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(0U, candidate_list.size());
|
| }
|
| @@ -1130,7 +1107,7 @@
|
|
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(0U, candidate_list.size());
|
| }
|
| @@ -1145,7 +1122,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(0U, candidate_list.size());
|
| }
|
| @@ -1160,7 +1137,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(1U, candidate_list.size());
|
| }
|
| @@ -1175,7 +1152,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(1U, candidate_list.size());
|
| }
|
| @@ -1190,7 +1167,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(1U, candidate_list.size());
|
| }
|
| @@ -1205,7 +1182,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| ASSERT_EQ(1U, pass_list.size());
|
| EXPECT_EQ(1U, candidate_list.size());
|
| }
|
| @@ -1223,7 +1200,7 @@
|
|
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(1U, candidate_list.size());
|
| EXPECT_EQ(-1, candidate_list[0].plane_z_order);
|
| @@ -1246,7 +1223,7 @@
|
|
|
| OverlayCandidateList candidate_list;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidate_list, &damage_rect_);
|
| + &candidate_list);
|
| EXPECT_EQ(1U, pass_list.size());
|
| ASSERT_EQ(1U, candidate_list.size());
|
| EXPECT_EQ(-1, candidate_list[0].plane_z_order);
|
| @@ -1269,14 +1246,14 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidates;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidates, &damage_rect_);
|
| + &candidates);
|
|
|
| // Both quads should become overlays.
|
| EXPECT_EQ(2u, candidates.size());
|
| - EXPECT_EQ(-2, candidates[0].plane_z_order);
|
| - EXPECT_EQ(-1, candidates[1].plane_z_order);
|
| - EXPECT_EQ(gfx::RectF(kOverlayTopLeftRect), candidates[1].display_rect);
|
| - EXPECT_EQ(gfx::RectF(kOverlayRect), candidates[0].display_rect);
|
| + EXPECT_EQ(-1, candidates[0].plane_z_order);
|
| + EXPECT_EQ(-2, candidates[1].plane_z_order);
|
| + EXPECT_EQ(gfx::RectF(kOverlayTopLeftRect), candidates[0].display_rect);
|
| + EXPECT_EQ(gfx::RectF(kOverlayRect), candidates[1].display_rect);
|
|
|
| // All quads should be gone.
|
| EXPECT_TRUE(pass_list.back()->quad_list.empty());
|
| @@ -1300,7 +1277,7 @@
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidates;
|
| overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
|
| - &candidates, &damage_rect_);
|
| + &candidates);
|
|
|
| // No quads should become overlays.
|
| EXPECT_EQ(0u, candidates.size());
|
| @@ -1337,7 +1314,7 @@
|
| }
|
|
|
| ASSERT_EQ(2U, frame->overlay_list.size());
|
| - EXPECT_GE(frame->overlay_list.back().resource_id, 0U);
|
| + EXPECT_NE(0U, frame->overlay_list.back().resource_id);
|
| }
|
|
|
| void set_expect_overlays(bool expect_overlays) {
|
|
|