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

Unified Diff: cc/layers/picture_layer_impl_unittest.cc

Issue 517893002: Cleanup resourceless_software_draw() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test Created 6 years, 4 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
Index: cc/layers/picture_layer_impl_unittest.cc
diff --git a/cc/layers/picture_layer_impl_unittest.cc b/cc/layers/picture_layer_impl_unittest.cc
index 9e80f926ee50e7a91c599718631105bed5175d8d..7188faf41290fc4792ed919e516b207dfd882f15 100644
--- a/cc/layers/picture_layer_impl_unittest.cc
+++ b/cc/layers/picture_layer_impl_unittest.cc
@@ -415,7 +415,8 @@ TEST_F(PictureLayerImplTest, ExternalViewportRectForPrioritizingTiles) {
}
}
-TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
+TEST_F(PictureLayerImplTest,
+ ResourcelessSoftwareDrawHasValidViewportForTilePriority) {
base::TimeTicks time_ticks;
time_ticks += base::TimeDelta::FromMilliseconds(1);
host_impl_.SetCurrentBeginFrameArgs(
@@ -436,8 +437,6 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
SetupDrawPropertiesAndUpdateTiles(active_layer_, 1.f, 1.f, 1.f, 1.f, false);
// UpdateTiles with valid viewport. Should update tile viewport.
- // Note viewport is considered invalid if and only if in resourceless
- // software draw.
bool resourceless_software_draw = false;
gfx::Rect viewport = gfx::Rect(layer_bounds);
gfx::Transform transform;
@@ -460,8 +459,9 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
gfx::Transform screen_space_transform_for_tile_priority =
active_layer_->screen_space_transform_for_tile_priority();
- // Expand viewport and set it as invalid for prioritizing tiles.
- // Should not update tile viewport.
+ // PictureLayerImpl does not make a special case for
+ // resource_less_software_draw, so the tile viewport and matrix should be
+ // respeced.
time_ticks += base::TimeDelta::FromMilliseconds(200);
host_impl_.SetCurrentBeginFrameArgs(
CreateBeginFrameArgsForTesting(time_ticks));
@@ -478,6 +478,11 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
resourceless_software_draw);
active_layer_->UpdateTiles(NULL);
+ visible_rect_for_tile_priority =
+ gfx::ScaleToEnclosingRect(visible_rect_for_tile_priority, 2);
+ viewport_rect_for_tile_priority =
+ gfx::ScaleToEnclosingRect(viewport_rect_for_tile_priority, 2);
+ screen_space_transform_for_tile_priority = transform;
EXPECT_RECT_EQ(visible_rect_for_tile_priority,
active_layer_->visible_rect_for_tile_priority());
EXPECT_RECT_EQ(viewport_rect_for_tile_priority,
@@ -485,26 +490,6 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
EXPECT_TRANSFORMATION_MATRIX_EQ(
screen_space_transform_for_tile_priority,
active_layer_->screen_space_transform_for_tile_priority());
-
- // Keep expanded viewport but mark it valid. Should update tile viewport.
- time_ticks += base::TimeDelta::FromMilliseconds(200);
- host_impl_.SetCurrentBeginFrameArgs(
- CreateBeginFrameArgsForTesting(time_ticks));
- resourceless_software_draw = false;
- host_impl_.SetExternalDrawConstraints(transform,
- viewport,
- viewport,
- viewport,
- transform,
- resourceless_software_draw);
- active_layer_->UpdateTiles(NULL);
-
- EXPECT_FALSE(visible_rect_for_tile_priority ==
- active_layer_->visible_rect_for_tile_priority());
- EXPECT_FALSE(viewport_rect_for_tile_priority ==
- active_layer_->viewport_rect_for_tile_priority());
- EXPECT_FALSE(screen_space_transform_for_tile_priority ==
- active_layer_->screen_space_transform_for_tile_priority());
}
TEST_F(PictureLayerImplTest, InvalidViewportAfterReleaseResources) {
@@ -3043,7 +3028,8 @@ TEST_F(NoLowResPictureLayerImplTest, NothingRequiredIfActiveMissingTiles) {
AssertNoTilesRequired(pending_layer_->LowResTiling());
}
-TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
+TEST_F(NoLowResPictureLayerImplTest,
+ ResourcelessSoftwareDrawHasValidViewportForTilePriority) {
base::TimeTicks time_ticks;
time_ticks += base::TimeDelta::FromMilliseconds(1);
host_impl_.SetCurrentBeginFrameArgs(
@@ -3064,8 +3050,6 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
SetupDrawPropertiesAndUpdateTiles(active_layer_, 1.f, 1.f, 1.f, 1.f, false);
// UpdateTiles with valid viewport. Should update tile viewport.
- // Note viewport is considered invalid if and only if in resourceless
- // software draw.
bool resourceless_software_draw = false;
gfx::Rect viewport = gfx::Rect(layer_bounds);
gfx::Transform transform;
@@ -3088,8 +3072,9 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
gfx::Transform screen_space_transform_for_tile_priority =
active_layer_->screen_space_transform_for_tile_priority();
- // Expand viewport and set it as invalid for prioritizing tiles.
- // Should not update tile viewport.
+ // PictureLayerImpl does not make a special case for
+ // resource_less_software_draw, so the tile viewport and matrix should be
+ // respeced.
time_ticks += base::TimeDelta::FromMilliseconds(200);
host_impl_.SetCurrentBeginFrameArgs(
CreateBeginFrameArgsForTesting(time_ticks));
@@ -3106,6 +3091,12 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
resourceless_software_draw);
active_layer_->UpdateTiles(NULL);
+ visible_rect_for_tile_priority =
+ gfx::ScaleToEnclosingRect(visible_rect_for_tile_priority, 2);
+ viewport_rect_for_tile_priority =
+ gfx::ScaleToEnclosingRect(viewport_rect_for_tile_priority, 2);
+ screen_space_transform_for_tile_priority = transform;
+
EXPECT_RECT_EQ(visible_rect_for_tile_priority,
active_layer_->visible_rect_for_tile_priority());
EXPECT_RECT_EQ(viewport_rect_for_tile_priority,
@@ -3113,26 +3104,6 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
EXPECT_TRANSFORMATION_MATRIX_EQ(
screen_space_transform_for_tile_priority,
active_layer_->screen_space_transform_for_tile_priority());
-
- // Keep expanded viewport but mark it valid. Should update tile viewport.
- time_ticks += base::TimeDelta::FromMilliseconds(200);
- host_impl_.SetCurrentBeginFrameArgs(
- CreateBeginFrameArgsForTesting(time_ticks));
- resourceless_software_draw = false;
- host_impl_.SetExternalDrawConstraints(transform,
- viewport,
- viewport,
- viewport,
- transform,
- resourceless_software_draw);
- active_layer_->UpdateTiles(NULL);
-
- EXPECT_FALSE(visible_rect_for_tile_priority ==
- active_layer_->visible_rect_for_tile_priority());
- EXPECT_FALSE(viewport_rect_for_tile_priority ==
- active_layer_->viewport_rect_for_tile_priority());
- EXPECT_FALSE(screen_space_transform_for_tile_priority ==
- active_layer_->screen_space_transform_for_tile_priority());
}
TEST_F(NoLowResPictureLayerImplTest, InvalidViewportAfterReleaseResources) {

Powered by Google App Engine
This is Rietveld 408576698