Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(177)

Unified Diff: cc/output/overlay_unittest.cc

Issue 2754663003: DCLayerOverlay should damage entire frame on resize. (Closed)
Patch Set: update test Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/output/dc_layer_overlay.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/overlay_unittest.cc
diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc
index 2e1dffa3a707a0c04499657387790fecf5dadfe4..32c2f7cbde4c662f2e667cd4dc556de7e59a8bd9 100644
--- a/cc/output/overlay_unittest.cc
+++ b/cc/output/overlay_unittest.cc
@@ -1781,27 +1781,35 @@ TEST_F(DCLayerOverlayTest, Occluded) {
}
TEST_F(DCLayerOverlayTest, DamageRect) {
- std::unique_ptr<RenderPass> pass = CreateRenderPass();
- CreateFullscreenCandidateYUVVideoQuad(resource_provider_.get(),
- pass->shared_quad_state_list.back(),
- pass.get());
+ for (int i = 0; i < 2; i++) {
+ std::unique_ptr<RenderPass> pass = CreateRenderPass();
+ CreateFullscreenCandidateYUVVideoQuad(resource_provider_.get(),
+ pass->shared_quad_state_list.back(),
+ pass.get());
- gfx::Rect damage_rect;
- DCLayerOverlayList dc_layer_list;
- OverlayCandidateList overlay_list;
- RenderPassFilterList render_pass_filters;
- RenderPassFilterList render_pass_background_filters;
- damage_rect_ = gfx::Rect(1, 1, 10, 10);
- overlay_processor_->ProcessForOverlays(
- resource_provider_.get(), pass.get(), render_pass_filters,
- render_pass_background_filters, &overlay_list, nullptr, &dc_layer_list,
- &damage_rect_, &content_bounds_);
- EXPECT_EQ(gfx::Rect(), damage_rect);
- EXPECT_EQ(0U, overlay_list.size());
- EXPECT_EQ(1U, dc_layer_list.size());
- EXPECT_EQ(0U, output_surface_->bind_framebuffer_count());
- EXPECT_EQ(1, dc_layer_list.back().shared_state->z_order);
- EXPECT_TRUE(damage_rect_.IsEmpty());
+ gfx::Rect damage_rect;
+ DCLayerOverlayList dc_layer_list;
+ OverlayCandidateList overlay_list;
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ damage_rect_ = gfx::Rect(1, 1, 10, 10);
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &overlay_list, nullptr, &dc_layer_list,
+ &damage_rect_, &content_bounds_);
+ EXPECT_EQ(gfx::Rect(), damage_rect);
+ EXPECT_EQ(0U, overlay_list.size());
+ EXPECT_EQ(1U, dc_layer_list.size());
+ EXPECT_EQ(0U, output_surface_->bind_framebuffer_count());
+ EXPECT_EQ(1, dc_layer_list.back().shared_state->z_order);
+ // Damage rect should be unchanged on initial frame because of resize, but
+ // should be empty on the second frame because everything was put in a
+ // layer.
+ if (i == 1)
+ EXPECT_TRUE(damage_rect_.IsEmpty());
+ else
+ EXPECT_EQ(gfx::Rect(1, 1, 10, 10), damage_rect_);
+ }
}
class OverlayInfoRendererGL : public GLRenderer {
« no previous file with comments | « cc/output/dc_layer_overlay.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698