Index: cc/resources/picture_layer_tiling_unittest.cc |
diff --git a/cc/resources/picture_layer_tiling_unittest.cc b/cc/resources/picture_layer_tiling_unittest.cc |
index 83dc4aa09bd61ae7f3f218d2832d93c80e69a26a..7c6eb8b4b023c98d417896e8dc0ba0228c3c7bc1 100644 |
--- a/cc/resources/picture_layer_tiling_unittest.cc |
+++ b/cc/resources/picture_layer_tiling_unittest.cc |
@@ -26,7 +26,6 @@ static gfx::Rect ViewportInLayerSpace( |
gfx::RectF viewport_in_layer_space = MathUtil::ProjectClippedRect( |
inverse, gfx::RectF(gfx::Point(0, 0), device_viewport)); |
- |
return ToEnclosingRect(viewport_in_layer_space); |
} |
@@ -495,15 +494,9 @@ TEST_F(PictureLayerTilingIteratorTest, TilesExist) { |
tiling_->UpdateTilePriorities( |
ACTIVE_TREE, |
- layer_bounds, // device viewport |
gfx::Rect(layer_bounds), // viewport in layer space |
gfx::Rect(layer_bounds), // visible content rect |
- layer_bounds, // last layer bounds |
- layer_bounds, // current layer bounds |
- 1.f, // last contents scale |
1.f, // current contents scale |
- gfx::Transform(), // last screen transform |
- gfx::Transform(), // current screen transform |
1.0, // current frame time |
10000); // max tiles in tile manager |
VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, true)); |
@@ -511,15 +504,9 @@ TEST_F(PictureLayerTilingIteratorTest, TilesExist) { |
// Make the viewport rect empty. All tiles are killed and become zombies. |
tiling_->UpdateTilePriorities( |
ACTIVE_TREE, |
- layer_bounds, // device viewport |
gfx::Rect(), // viewport in layer space |
gfx::Rect(), // visible content rect |
- layer_bounds, // last layer bounds |
- layer_bounds, // current layer bounds |
- 1.f, // last contents scale |
1.f, // current contents scale |
- gfx::Transform(), // last screen transform |
- gfx::Transform(), // current screen transform |
2.0, // current frame time |
10000); // max tiles in tile manager |
VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false)); |
@@ -535,15 +522,9 @@ TEST_F(PictureLayerTilingIteratorTest, TilesExistGiantViewport) { |
tiling_->UpdateTilePriorities( |
ACTIVE_TREE, |
- layer_bounds, // device viewport |
giant_rect, // viewport in layer space |
gfx::Rect(layer_bounds), // visible content rect |
- layer_bounds, // last layer bounds |
- layer_bounds, // current layer bounds |
- 1.f, // last contents scale |
1.f, // current contents scale |
- gfx::Transform(), // last screen transform |
- gfx::Transform(), // current screen transform |
1.0, // current frame time |
10000); // max tiles in tile manager |
VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, true)); |
@@ -551,15 +532,9 @@ TEST_F(PictureLayerTilingIteratorTest, TilesExistGiantViewport) { |
// If the visible content rect is empty, it should still have live tiles. |
tiling_->UpdateTilePriorities( |
ACTIVE_TREE, |
- layer_bounds, // device viewport |
giant_rect, // viewport in layer space |
gfx::Rect(), // visible content rect |
- layer_bounds, // last layer bounds |
- layer_bounds, // current layer bounds |
- 1.f, // last contents scale |
1.f, // current contents scale |
- gfx::Transform(), // last screen transform |
- gfx::Transform(), // current screen transform |
2.0, // current frame time |
10000); // max tiles in tile manager |
VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, true)); |
@@ -578,15 +553,9 @@ TEST_F(PictureLayerTilingIteratorTest, TilesExistOutsideViewport) { |
tiling_->UpdateTilePriorities( |
ACTIVE_TREE, |
- layer_bounds, // device viewport |
viewport_rect, // viewport in layer space |
gfx::Rect(), // visible content rect |
- layer_bounds, // last layer bounds |
- layer_bounds, // current layer bounds |
- 1.f, // last contents scale |
1.f, // current contents scale |
- gfx::Transform(), // last screen transform |
- gfx::Transform(), // current screen transform |
1.0, // current frame time |
10000); // max tiles in tile manager |
VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, true)); |
@@ -614,15 +583,9 @@ TEST_F(PictureLayerTilingIteratorTest, |
tiling_->UpdateTilePriorities( |
ACTIVE_TREE, |
- layer_bounds, // device viewport |
gfx::Rect(layer_bounds), // viewport in layer space |
visible_rect, // visible content rect |
- layer_bounds, // last layer bounds |
- layer_bounds, // current layer bounds |
- 1.f, // last contents scale |
1.f, // current contents scale |
- gfx::Transform(), // last screen transform |
- gfx::Transform(), // current screen transform |
1.0, // current frame time |
1); // max tiles in tile manager |
VerifyTiles(1.f, |
@@ -646,15 +609,9 @@ TEST_F(PictureLayerTilingIteratorTest, |
tiling_->UpdateTilePriorities( |
ACTIVE_TREE, |
- layer_bounds, // device viewport |
gfx::Rect(layer_bounds), // viewport in layer space |
gfx::Rect(layer_bounds), // visible content rect |
- layer_bounds, // last layer bounds |
- layer_bounds, // current layer bounds |
- 1.f, // last contents scale |
1.f, // current contents scale |
- gfx::Transform(), // last screen transform |
- gfx::Transform(), // current screen transform |
1.0, // current frame time |
1); // max tiles in tile manager |
@@ -685,15 +642,9 @@ TEST_F(PictureLayerTilingIteratorTest, AddTilingsToMatchScale) { |
active_set.UpdateTilePriorities( |
PENDING_TREE, |
- layer_bounds, // device viewport |
gfx::Rect(layer_bounds), // viewport in layer space |
gfx::Rect(layer_bounds), // visible content rect |
- layer_bounds, // last layer bounds |
- layer_bounds, // current layer bounds |
- 1.f, // last contents scale |
1.f, // current contents scale |
- gfx::Transform(), // last screen transform |
- gfx::Transform(), // current screen transform |
1.0, // current frame time |
10000); // max tiles in tile manager |
@@ -718,15 +669,9 @@ TEST_F(PictureLayerTilingIteratorTest, AddTilingsToMatchScale) { |
// pending tiling should get tiles. |
pending_set.UpdateTilePriorities( |
PENDING_TREE, |
- layer_bounds, // device viewport |
gfx::Rect(layer_bounds), // viewport in layer space |
gfx::Rect(layer_bounds), // visible content rect |
- layer_bounds, // last layer bounds |
- layer_bounds, // current layer bounds |
- 1.f, // last contents scale |
1.f, // current contents scale |
- gfx::Transform(), // last screen transform |
- gfx::Transform(), // current screen transform |
1.0, // current frame time |
10000); // max tiles in tile manager |
@@ -747,7 +692,6 @@ TEST(UpdateTilePrioritiesTest, VisibleTiles) { |
gfx::Rect visible_layer_rect(0, 0, 200, 200); |
gfx::Size last_layer_bounds(200, 200); |
gfx::Size current_layer_bounds(200, 200); |
- float last_layer_contents_scale = 1.f; |
float current_layer_contents_scale = 1.f; |
gfx::Transform last_screen_transform; |
gfx::Transform current_screen_transform; |
@@ -764,15 +708,9 @@ TEST(UpdateTilePrioritiesTest, VisibleTiles) { |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- current_layer_bounds, |
- last_layer_contents_scale, |
current_layer_contents_scale, |
- last_screen_transform, |
- current_screen_transform, |
current_frame_time_in_seconds, |
max_tiles_for_interest_area); |
@@ -782,20 +720,20 @@ TEST(UpdateTilePrioritiesTest, VisibleTiles) { |
ASSERT_TRUE(tiling->TileAt(1, 1)); |
TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
- EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels); |
- EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_FLOAT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
- EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels); |
- EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_FLOAT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels); |
- EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_FLOAT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels); |
- EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_FLOAT_EQ(TilePriority::NOW, priority.priority_bin); |
} |
TEST(UpdateTilePrioritiesTest, OffscreenTiles) { |
@@ -809,7 +747,6 @@ TEST(UpdateTilePrioritiesTest, OffscreenTiles) { |
gfx::Rect visible_layer_rect(0, 0, 0, 0); // offscreen; nothing is visible. |
gfx::Size last_layer_bounds(200, 200); |
gfx::Size current_layer_bounds(200, 200); |
- float last_layer_contents_scale = 1.f; |
float current_layer_contents_scale = 1.f; |
gfx::Transform last_screen_transform; |
gfx::Transform current_screen_transform; |
@@ -829,15 +766,9 @@ TEST(UpdateTilePrioritiesTest, OffscreenTiles) { |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- current_layer_bounds, |
- last_layer_contents_scale, |
current_layer_contents_scale, |
- last_screen_transform, |
- current_screen_transform, |
current_frame_time_in_seconds, |
max_tiles_for_interest_area); |
@@ -847,36 +778,32 @@ TEST(UpdateTilePrioritiesTest, OffscreenTiles) { |
ASSERT_TRUE(tiling->TileAt(1, 1)); |
TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
// Furthermore, in this scenario tiles on the right hand side should have a |
// larger distance to visible. |
TilePriority left = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
TilePriority right = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(right.distance_to_visible_in_pixels, |
- left.distance_to_visible_in_pixels); |
+ EXPECT_GT(right.distance_to_visible, |
+ left.distance_to_visible); |
left = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
right = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(right.distance_to_visible_in_pixels, |
- left.distance_to_visible_in_pixels); |
+ EXPECT_GT(right.distance_to_visible, |
+ left.distance_to_visible); |
} |
TEST(UpdateTilePrioritiesTest, PartiallyOffscreenLayer) { |
@@ -887,10 +814,8 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenLayer) { |
scoped_ptr<TestablePictureLayerTiling> tiling; |
gfx::Size device_viewport(800, 600); |
- gfx::Rect visible_layer_rect(0, 0, 100, 100); // only top quarter. |
gfx::Size last_layer_bounds(200, 200); |
gfx::Size current_layer_bounds(200, 200); |
- float last_layer_contents_scale = 1.f; |
float current_layer_contents_scale = 1.f; |
gfx::Transform last_screen_transform; |
gfx::Transform current_screen_transform; |
@@ -902,6 +827,9 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenLayer) { |
gfx::Rect viewport_in_layer_space = ViewportInLayerSpace( |
current_screen_transform, device_viewport); |
+ gfx::Rect visible_layer_rect = viewport_in_layer_space; |
+ visible_layer_rect.Intersect( |
+ gfx::Rect(gfx::Point(0, 0), current_layer_bounds)); |
client.SetTileSize(gfx::Size(100, 100)); |
tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
@@ -910,15 +838,9 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenLayer) { |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- current_layer_bounds, |
- last_layer_contents_scale, |
current_layer_contents_scale, |
- last_screen_transform, |
- current_screen_transform, |
current_frame_time_in_seconds, |
max_tiles_for_interest_area); |
@@ -928,23 +850,20 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenLayer) { |
ASSERT_TRUE(tiling->TileAt(1, 1)); |
TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
- EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels); |
- EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_FLOAT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
} |
TEST(UpdateTilePrioritiesTest, PartiallyOffscreenRotatedLayer) { |
@@ -956,10 +875,8 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenRotatedLayer) { |
scoped_ptr<TestablePictureLayerTiling> tiling; |
gfx::Size device_viewport(800, 600); |
- gfx::Rect visible_layer_rect(0, 0, 100, 100); // only top-left quarter. |
gfx::Size last_layer_bounds(200, 200); |
gfx::Size current_layer_bounds(200, 200); |
- float last_layer_contents_scale = 1.f; |
float current_layer_contents_scale = 1.f; |
gfx::Transform last_screen_transform; |
gfx::Transform current_screen_transform; |
@@ -968,12 +885,15 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenRotatedLayer) { |
// A diagonally rotated layer that is partially off the bottom of the screen. |
// In this configuration, only the top-left tile would be visible. |
- current_screen_transform.Translate(400, 550); |
+ current_screen_transform.Translate(600, 750); |
current_screen_transform.RotateAboutZAxis(45); |
last_screen_transform = current_screen_transform; |
gfx::Rect viewport_in_layer_space = ViewportInLayerSpace( |
current_screen_transform, device_viewport); |
+ gfx::Rect visible_layer_rect = viewport_in_layer_space; |
+ visible_layer_rect.Intersect( |
+ gfx::Rect(gfx::Point(0, 0), current_layer_bounds)); |
client.SetTileSize(gfx::Size(100, 100)); |
tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
@@ -982,15 +902,9 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenRotatedLayer) { |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- current_layer_bounds, |
- last_layer_contents_scale, |
current_layer_contents_scale, |
- last_screen_transform, |
- current_screen_transform, |
current_frame_time_in_seconds, |
max_tiles_for_interest_area); |
@@ -1000,39 +914,30 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenRotatedLayer) { |
ASSERT_TRUE(tiling->TileAt(1, 1)); |
TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
- EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels); |
- EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
// Furthermore, in this scenario the bottom-right tile should have the larger |
// distance to visible. |
TilePriority top_left = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
TilePriority top_right = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- TilePriority bottom_left = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
TilePriority bottom_right = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(top_right.distance_to_visible_in_pixels, |
- top_left.distance_to_visible_in_pixels); |
- EXPECT_GT(bottom_left.distance_to_visible_in_pixels, |
- top_left.distance_to_visible_in_pixels); |
- |
- EXPECT_GT(bottom_right.distance_to_visible_in_pixels, |
- bottom_left.distance_to_visible_in_pixels); |
- EXPECT_GT(bottom_right.distance_to_visible_in_pixels, |
- top_right.distance_to_visible_in_pixels); |
+ EXPECT_GT(top_right.distance_to_visible, |
+ top_left.distance_to_visible); |
+ |
+ EXPECT_EQ(bottom_right.distance_to_visible, top_right.distance_to_visible); |
} |
TEST(UpdateTilePrioritiesTest, PerspectiveLayer) { |
@@ -1046,7 +951,6 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayer) { |
gfx::Rect visible_layer_rect(0, 0, 0, 0); // offscreen. |
gfx::Size last_layer_bounds(200, 200); |
gfx::Size current_layer_bounds(200, 200); |
- float last_layer_contents_scale = 1.f; |
float current_layer_contents_scale = 1.f; |
gfx::Transform last_screen_transform; |
gfx::Transform current_screen_transform; |
@@ -1084,15 +988,9 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayer) { |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- current_layer_bounds, |
- last_layer_contents_scale, |
current_layer_contents_scale, |
- last_screen_transform, |
- current_screen_transform, |
current_frame_time_in_seconds, |
max_tiles_for_interest_area); |
@@ -1104,24 +1002,20 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayer) { |
// All tiles will have a positive distance_to_visible |
// and an infinite time_to_visible. |
TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(priority.distance_to_visible, 0.f); |
+ EXPECT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(priority.distance_to_visible, 0.f); |
+ EXPECT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
// Furthermore, in this scenario the top-left distance_to_visible |
// will be smallest, followed by top-right. The bottom layers |
@@ -1130,14 +1024,12 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayer) { |
TilePriority top_right = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
TilePriority bottom_left = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
TilePriority bottom_right = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(top_right.distance_to_visible_in_pixels, |
- top_left.distance_to_visible_in_pixels); |
- EXPECT_GT(bottom_right.distance_to_visible_in_pixels, |
- top_right.distance_to_visible_in_pixels); |
+ EXPECT_GT(bottom_right.distance_to_visible, |
+ top_right.distance_to_visible); |
- EXPECT_GT(bottom_left.distance_to_visible_in_pixels, |
- top_left.distance_to_visible_in_pixels); |
+ EXPECT_GT(bottom_left.distance_to_visible, |
+ top_left.distance_to_visible); |
} |
TEST(UpdateTilePrioritiesTest, PerspectiveLayerClippedByW) { |
@@ -1148,10 +1040,8 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayerClippedByW) { |
scoped_ptr<TestablePictureLayerTiling> tiling; |
gfx::Size device_viewport(800, 600); |
- gfx::Rect visible_layer_rect(0, 0, 0, 0); // offscreen. |
gfx::Size last_layer_bounds(200, 200); |
gfx::Size current_layer_bounds(200, 200); |
- float last_layer_contents_scale = 1.f; |
float current_layer_contents_scale = 1.f; |
gfx::Transform last_screen_transform; |
gfx::Transform current_screen_transform; |
@@ -1187,6 +1077,9 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayerClippedByW) { |
gfx::Rect viewport_in_layer_space = ViewportInLayerSpace( |
current_screen_transform, device_viewport); |
+ gfx::Rect visible_layer_rect = viewport_in_layer_space; |
+ visible_layer_rect.Intersect( |
+ gfx::Rect(gfx::Point(0, 0), current_layer_bounds)); |
client.SetTileSize(gfx::Size(100, 100)); |
tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
@@ -1195,15 +1088,9 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayerClippedByW) { |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- current_layer_bounds, |
- last_layer_contents_scale, |
current_layer_contents_scale, |
- last_screen_transform, |
- current_screen_transform, |
current_frame_time_in_seconds, |
max_tiles_for_interest_area); |
@@ -1215,24 +1102,22 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayerClippedByW) { |
// Left-side tiles will be clipped by the transform, so we have to assume |
// they are visible just in case. |
TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
- EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels); |
- EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_FLOAT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
- EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels); |
- EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
// Right-side tiles will have a positive distance_to_visible |
// and an infinite time_to_visible. |
priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(priority.distance_to_visible, 0.f); |
+ EXPECT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
} |
TEST(UpdateTilePrioritiesTest, BasicMotion) { |
@@ -1269,30 +1154,18 @@ TEST(UpdateTilePrioritiesTest, BasicMotion) { |
// previous ("last") frame |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- last_layer_bounds, |
- last_layer_contents_scale, |
last_layer_contents_scale, |
- last_screen_transform, |
- last_screen_transform, |
last_frame_time_in_seconds, |
max_tiles_for_interest_area); |
// current frame |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- current_layer_bounds, |
- last_layer_contents_scale, |
current_layer_contents_scale, |
- last_screen_transform, |
- current_screen_transform, |
current_frame_time_in_seconds, |
max_tiles_for_interest_area); |
@@ -1302,26 +1175,22 @@ TEST(UpdateTilePrioritiesTest, BasicMotion) { |
ASSERT_TRUE(tiling->TileAt(1, 1)); |
TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(1.f, |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(1.f, |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
// time_to_visible for the right hand side layers needs an extra 0.099 |
// seconds because this tile is 99 pixels further away. |
priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(1.099f, |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(1.099f, |
- priority.time_to_visible_in_seconds); |
+ EXPECT_GT(priority.distance_to_visible, 0.f); |
+ EXPECT_NE(TilePriority::NOW, priority.priority_bin); |
} |
TEST(UpdateTilePrioritiesTest, RotationMotion) { |
@@ -1367,30 +1236,18 @@ TEST(UpdateTilePrioritiesTest, RotationMotion) { |
// previous ("last") frame |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- last_layer_bounds, |
last_layer_contents_scale, |
- last_layer_contents_scale, |
- last_screen_transform, |
- last_screen_transform, |
last_frame_time_in_seconds, |
max_tiles_for_interest_area); |
// current frame |
tiling->UpdateTilePriorities( |
ACTIVE_TREE, |
- device_viewport, |
viewport_in_layer_space, |
visible_layer_rect, |
- last_layer_bounds, |
- current_layer_bounds, |
- last_layer_contents_scale, |
current_layer_contents_scale, |
- last_screen_transform, |
- current_screen_transform, |
current_frame_time_in_seconds, |
max_tiles_for_interest_area); |
@@ -1400,17 +1257,16 @@ TEST(UpdateTilePrioritiesTest, RotationMotion) { |
ASSERT_TRUE(tiling->TileAt(1, 1)); |
TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE); |
- EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels); |
- EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_GT(priority.time_to_visible_in_seconds, 0.f); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_EQ(TilePriority::NOW, priority.priority_bin); |
priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); |
- EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f); |
- EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(), |
- priority.time_to_visible_in_seconds); |
+ EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); |
+ EXPECT_EQ(TilePriority::NOW, priority.priority_bin); |
} |
} // namespace |