Chromium Code Reviews| 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 9190b98e48dd5e4662adfbd0ce5b256fb45ac5f0..e862752d89edfe07a1470d6d1ab3f97a0c2d5ef4 100644 |
| --- a/cc/resources/picture_layer_tiling_unittest.cc |
| +++ b/cc/resources/picture_layer_tiling_unittest.cc |
| @@ -54,11 +54,23 @@ class TestablePictureLayerTiling : public PictureLayerTiling { |
| static scoped_ptr<TestablePictureLayerTiling> Create( |
| float contents_scale, |
| const gfx::Size& layer_bounds, |
| - PictureLayerTilingClient* client) { |
| + PictureLayerTilingClient* client, |
| + size_t max_tiles_for_interest_area, |
| + float skewport_target_time, |
| + int skewport_extrapolation_limit) { |
| return make_scoped_ptr(new TestablePictureLayerTiling( |
| - contents_scale, |
| - layer_bounds, |
| - client)); |
| + contents_scale, layer_bounds, client, max_tiles_for_interest_area, |
| + skewport_target_time, skewport_extrapolation_limit)); |
| + } |
| + |
| + static scoped_ptr<TestablePictureLayerTiling> CreateDefault( |
| + float contents_scale, |
| + const gfx::Size& layer_bounds, |
| + PictureLayerTilingClient* client) { |
| + LayerTreeSettings defaults; |
| + return Create(contents_scale, layer_bounds, client, 10000, |
|
danakj
2014/12/10 22:23:25
did you mean to use 10000 here?
vmpstr
2014/12/11 00:14:17
I changed this a bit. I removed CreateDefault, and
|
| + defaults.skewport_target_time_in_seconds, |
| + defaults.skewport_extrapolation_limit_in_content_pixels); |
| } |
| gfx::Rect live_tiles_rect() const { return live_tiles_rect_; } |
| @@ -72,8 +84,16 @@ class TestablePictureLayerTiling : public PictureLayerTiling { |
| protected: |
| TestablePictureLayerTiling(float contents_scale, |
| const gfx::Size& layer_bounds, |
| - PictureLayerTilingClient* client) |
| - : PictureLayerTiling(contents_scale, layer_bounds, client) { } |
| + PictureLayerTilingClient* client, |
| + size_t max_tiles_for_interest_area, |
| + float skewport_target_time, |
| + int skewport_extrapolation_limit) |
| + : PictureLayerTiling(contents_scale, |
| + layer_bounds, |
| + client, |
| + max_tiles_for_interest_area, |
| + skewport_target_time, |
| + skewport_extrapolation_limit) {} |
| }; |
| class PictureLayerTilingIteratorTest : public testing::Test { |
| @@ -86,9 +106,11 @@ class PictureLayerTilingIteratorTest : public testing::Test { |
| const gfx::Size& layer_bounds) { |
| client_.SetTileSize(tile_size); |
| client_.set_tree(PENDING_TREE); |
| - tiling_ = TestablePictureLayerTiling::Create(contents_scale, |
| - layer_bounds, |
| - &client_); |
| + LayerTreeSettings defaults; |
| + tiling_ = TestablePictureLayerTiling::Create( |
|
danakj
2014/12/10 22:23:25
or else this can just call CreateDefault?
vmpstr
2014/12/11 00:14:17
Done.
|
| + contents_scale, layer_bounds, &client_, 10000, |
| + defaults.skewport_target_time_in_seconds, |
| + defaults.skewport_extrapolation_limit_in_content_pixels); |
| } |
| void SetLiveRectAndVerifyTiles(const gfx::Rect& live_tiles_rect) { |
| @@ -180,10 +202,6 @@ class PictureLayerTilingIteratorTest : public testing::Test { |
| VerifyTilesExactlyCoverRect(rect_scale, dest_rect, clamped_rect); |
| } |
| - void set_max_tiles_for_interest_area(size_t area) { |
| - client_.set_max_tiles_for_interest_area(area); |
| - } |
| - |
| protected: |
| FakePictureLayerTilingClient client_; |
| scoped_ptr<TestablePictureLayerTiling> tiling_; |
| @@ -532,7 +550,7 @@ TEST_F(PictureLayerTilingIteratorTest, NonContainedDestRect) { |
| TEST(PictureLayerTilingTest, SkewportLimits) { |
| FakePictureLayerTilingClient client; |
| - client.set_skewport_extrapolation_limit_in_content_pixels(75); |
| + LayerTreeSettings defaults; |
| client.set_tree(ACTIVE_TREE); |
| scoped_ptr<TestablePictureLayerTiling> tiling; |
| @@ -540,7 +558,9 @@ TEST(PictureLayerTilingTest, SkewportLimits) { |
| gfx::Size layer_bounds(200, 200); |
| client.SetTileSize(gfx::Size(100, 100)); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client); |
| + tiling = TestablePictureLayerTiling::Create( |
| + 1.0f, layer_bounds, &client, 10000, |
| + defaults.skewport_target_time_in_seconds, 75); |
| tiling->ComputeTilePriorityRects(viewport, 1.f, 1.0, Occlusion()); |
| @@ -606,7 +626,8 @@ TEST(PictureLayerTilingTest, ComputeSkewport) { |
| client.SetTileSize(gfx::Size(100, 100)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport, 1.f, 1.0, Occlusion()); |
| @@ -671,7 +692,8 @@ TEST(PictureLayerTilingTest, ViewportDistanceWithScale) { |
| // for instance begins at (8, 16) pixels. So tile at (46, 46) will begin at |
| // (368, 368) and extend to the end of 1500 * 0.25 = 375 edge of the |
| // tiling. |
| - tiling = TestablePictureLayerTiling::Create(0.25f, layer_bounds, &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(0.25f, layer_bounds, &client); |
| gfx::Rect viewport_in_content_space = |
| gfx::ToEnclosedRect(gfx::ScaleRect(viewport, 0.25f)); |
| @@ -825,7 +847,8 @@ TEST(PictureLayerTilingTest, ViewportDistanceWithScale) { |
| EXPECT_FLOAT_EQ(8.f, priority.distance_to_visible); |
| // Test additional scales. |
| - tiling = TestablePictureLayerTiling::Create(0.2f, layer_bounds, &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(0.2f, layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport, 1.0f, 4.0, Occlusion()); |
| tiling->UpdateAllTilePrioritiesForTesting(); |
| @@ -1086,7 +1109,8 @@ TEST(PictureLayerTilingTest, TilingRasterTileIteratorStaticViewport) { |
| client.SetTileSize(gfx::Size(30, 30)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport, 1.0f, 1.0, Occlusion()); |
| tiling->UpdateAllTilePrioritiesForTesting(); |
| @@ -1191,7 +1215,8 @@ TEST(PictureLayerTilingTest, TilingRasterTileIteratorMovingViewport) { |
| client.SetTileSize(gfx::Size(30, 30)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.f, layer_bounds, &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.f, layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport, 1.0f, 1.0, Occlusion()); |
| tiling->ComputeTilePriorityRects(moved_viewport, 1.0f, 2.0, Occlusion()); |
| tiling->UpdateAllTilePrioritiesForTesting(); |
| @@ -1326,14 +1351,18 @@ static void TilesIntersectingRectExist(const gfx::Rect& rect, |
| TEST_F(PictureLayerTilingIteratorTest, |
| TilesExistLargeViewportAndLayerWithSmallVisibleArea) { |
| gfx::Size layer_bounds(10000, 10000); |
| - Initialize(gfx::Size(100, 100), 1.f, layer_bounds); |
| + client_.SetTileSize(gfx::Size(100, 100)); |
| + client_.set_tree(PENDING_TREE); |
| + LayerTreeSettings defaults; |
| + tiling_ = TestablePictureLayerTiling::Create( |
| + 1.f, layer_bounds, &client_, 1, defaults.skewport_target_time_in_seconds, |
| + defaults.skewport_extrapolation_limit_in_content_pixels); |
| VerifyTilesExactlyCoverRect(1.f, gfx::Rect(layer_bounds)); |
| VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false)); |
| gfx::Rect visible_rect(8000, 8000, 50, 50); |
| client_.set_tree(ACTIVE_TREE); |
| - set_max_tiles_for_interest_area(1); |
| tiling_->ComputeTilePriorityRects(visible_rect, // visible content rect |
| 1.f, // current contents scale |
| 1.0, // current frame time |
| @@ -1346,11 +1375,14 @@ TEST_F(PictureLayerTilingIteratorTest, |
| TEST_F(PictureLayerTilingIteratorTest, AddTilingsToMatchScale) { |
| gfx::Size layer_bounds(1099, 801); |
| gfx::Size tile_size(100, 100); |
| + LayerTreeSettings defaults; |
| client_.SetTileSize(tile_size); |
| client_.set_tree(PENDING_TREE); |
| - auto active_set = PictureLayerTilingSet::Create(&client_); |
| + auto active_set = PictureLayerTilingSet::Create( |
| + &client_, 10000, defaults.skewport_target_time_in_seconds, |
| + defaults.skewport_extrapolation_limit_in_content_pixels); |
| active_set->AddTiling(1.f, layer_bounds); |
| @@ -1367,7 +1399,9 @@ TEST_F(PictureLayerTilingIteratorTest, AddTilingsToMatchScale) { |
| base::Bind(&TileExists, true)); |
| // Add the same tilings to the pending set. |
| - auto pending_set = PictureLayerTilingSet::Create(&client_); |
| + auto pending_set = PictureLayerTilingSet::Create( |
| + &client_, 10000, defaults.skewport_target_time_in_seconds, |
| + defaults.skewport_extrapolation_limit_in_content_pixels); |
| Region invalidation; |
| pending_set->SyncTilings(*active_set, layer_bounds, invalidation, 0.f, |
| client_.raster_source()); |
| @@ -1406,9 +1440,9 @@ TEST(ComputeTilePriorityRectsTest, VisibleTiles) { |
| client.SetTileSize(gfx::Size(100, 100)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - current_layer_bounds, |
| - &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, // contents_scale |
| + current_layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport_in_layer_space, |
| current_layer_contents_scale, |
| @@ -1460,9 +1494,9 @@ TEST(ComputeTilePriorityRectsTest, OffscreenTiles) { |
| client.SetTileSize(gfx::Size(100, 100)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - current_layer_bounds, |
| - &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, // contents_scale |
| + current_layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport_in_layer_space, |
| current_layer_contents_scale, |
| @@ -1524,9 +1558,9 @@ TEST(ComputeTilePriorityRectsTest, PartiallyOffscreenLayer) { |
| client.SetTileSize(gfx::Size(100, 100)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - current_layer_bounds, |
| - &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, // contents_scale |
| + current_layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport_in_layer_space, |
| current_layer_contents_scale, |
| @@ -1582,9 +1616,9 @@ TEST(ComputeTilePriorityRectsTest, PartiallyOffscreenRotatedLayer) { |
| client.SetTileSize(gfx::Size(100, 100)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - current_layer_bounds, |
| - &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, // contents_scale |
| + current_layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport_in_layer_space, |
| current_layer_contents_scale, |
| @@ -1664,9 +1698,9 @@ TEST(ComputeTilePriorityRectsTest, PerspectiveLayer) { |
| client.SetTileSize(gfx::Size(100, 100)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - current_layer_bounds, |
| - &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, // contents_scale |
| + current_layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport_in_layer_space, |
| current_layer_contents_scale, |
| @@ -1756,9 +1790,9 @@ TEST(ComputeTilePriorityRectsTest, PerspectiveLayerClippedByW) { |
| client.SetTileSize(gfx::Size(100, 100)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - current_layer_bounds, |
| - &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, // contents_scale |
| + current_layer_bounds, &client); |
| tiling->ComputeTilePriorityRects(viewport_in_layer_space, |
| current_layer_contents_scale, |
| @@ -1818,9 +1852,9 @@ TEST(ComputeTilePriorityRectsTest, BasicMotion) { |
| client.SetTileSize(gfx::Size(100, 100)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - current_layer_bounds, |
| - &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, // contents_scale |
| + current_layer_bounds, &client); |
| // previous ("last") frame |
| tiling->ComputeTilePriorityRects(viewport_in_layer_space, |
| @@ -1893,9 +1927,9 @@ TEST(ComputeTilePriorityRectsTest, RotationMotion) { |
| client.SetTileSize(gfx::Size(100, 100)); |
| client.set_tree(ACTIVE_TREE); |
| - tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - current_layer_bounds, |
| - &client); |
| + tiling = |
| + TestablePictureLayerTiling::CreateDefault(1.0f, // contents_scale |
| + current_layer_bounds, &client); |
| // previous ("last") frame |
| tiling->ComputeTilePriorityRects(viewport_in_layer_space, |
| @@ -1939,13 +1973,15 @@ TEST(PictureLayerTilingTest, RecycledTilesCleared) { |
| FakePictureLayerTilingClient active_client; |
| scoped_ptr<TestablePictureLayerTiling> active_tiling; |
| + LayerTreeSettings defaults; |
| active_client.SetTileSize(gfx::Size(100, 100)); |
| active_client.set_tree(ACTIVE_TREE); |
| - active_client.set_max_tiles_for_interest_area(10); |
| - active_tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - gfx::Size(10000, 10000), |
| - &active_client); |
| + active_tiling = TestablePictureLayerTiling::Create( |
| + 1.0f, // contents_scale |
| + gfx::Size(10000, 10000), &active_client, 10, |
| + defaults.skewport_target_time_in_seconds, |
| + defaults.skewport_extrapolation_limit_in_content_pixels); |
| // Create all tiles on this tiling. |
| active_tiling->ComputeTilePriorityRects(gfx::Rect(0, 0, 100, 100), 1.0f, 1.0f, |
| Occlusion()); |
| @@ -1954,12 +1990,13 @@ TEST(PictureLayerTilingTest, RecycledTilesCleared) { |
| recycle_client.SetTileSize(gfx::Size(100, 100)); |
| recycle_client.set_tree(PENDING_TREE); |
| recycle_client.set_twin_tiling(active_tiling.get()); |
| - recycle_client.set_max_tiles_for_interest_area(10); |
| scoped_ptr<TestablePictureLayerTiling> recycle_tiling; |
| - recycle_tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - gfx::Size(10000, 10000), |
| - &recycle_client); |
| + recycle_tiling = TestablePictureLayerTiling::Create( |
| + 1.0f, // contents_scale |
| + gfx::Size(10000, 10000), &recycle_client, 10, |
| + defaults.skewport_target_time_in_seconds, |
| + defaults.skewport_extrapolation_limit_in_content_pixels); |
| // Create all tiles on the second tiling. All tiles should be shared. |
| recycle_tiling->ComputeTilePriorityRects(gfx::Rect(0, 0, 100, 100), 1.0f, |
| @@ -1997,9 +2034,9 @@ TEST(PictureLayerTilingTest, RecycledTilesClearedOnReset) { |
| active_client.SetTileSize(gfx::Size(100, 100)); |
| active_client.set_tree(ACTIVE_TREE); |
| - active_tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - gfx::Size(100, 100), |
| - &active_client); |
| + active_tiling = TestablePictureLayerTiling::CreateDefault( |
| + 1.0f, // contents_scale |
| + gfx::Size(100, 100), &active_client); |
| // Create all tiles on this tiling. |
| active_tiling->ComputeTilePriorityRects(gfx::Rect(0, 0, 100, 100), 1.0f, 1.0f, |
| Occlusion()); |
| @@ -2008,12 +2045,14 @@ TEST(PictureLayerTilingTest, RecycledTilesClearedOnReset) { |
| recycle_client.SetTileSize(gfx::Size(100, 100)); |
| recycle_client.set_tree(PENDING_TREE); |
| recycle_client.set_twin_tiling(active_tiling.get()); |
| - recycle_client.set_max_tiles_for_interest_area(10); |
| + LayerTreeSettings defaults; |
| scoped_ptr<TestablePictureLayerTiling> recycle_tiling; |
| - recycle_tiling = TestablePictureLayerTiling::Create(1.0f, // contents_scale |
| - gfx::Size(100, 100), |
| - &recycle_client); |
| + recycle_tiling = TestablePictureLayerTiling::Create( |
| + 1.0f, // contents_scale |
| + gfx::Size(100, 100), &recycle_client, 10, |
| + defaults.skewport_target_time_in_seconds, |
| + defaults.skewport_extrapolation_limit_in_content_pixels); |
| // Create all tiles on the recycle tiling. All tiles should be shared. |
| recycle_tiling->ComputeTilePriorityRects(gfx::Rect(0, 0, 100, 100), 1.0f, |