OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 1152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1163 | 1163 |
1164 // The explanation of each iteration is as follows: | 1164 // The explanation of each iteration is as follows: |
1165 // 1. First iteration tests that we can get all of the tiles correctly. | 1165 // 1. First iteration tests that we can get all of the tiles correctly. |
1166 // 2. Second iteration ensures that we can get all of the tiles again (first | 1166 // 2. Second iteration ensures that we can get all of the tiles again (first |
1167 // iteration didn't change any tiles), as well set all tiles to be ready to | 1167 // iteration didn't change any tiles), as well set all tiles to be ready to |
1168 // draw. | 1168 // draw. |
1169 // 3. Third iteration ensures that no tiles are returned, since they were all | 1169 // 3. Third iteration ensures that no tiles are returned, since they were all |
1170 // marked as ready to draw. | 1170 // marked as ready to draw. |
1171 for (int i = 0; i < 3; ++i) { | 1171 for (int i = 0; i < 3; ++i) { |
1172 std::unique_ptr<TilingSetRasterQueueAll> queue( | 1172 std::unique_ptr<TilingSetRasterQueueAll> queue( |
1173 new TilingSetRasterQueueAll(tiling_set.get(), false)); | 1173 new TilingSetRasterQueueAll(tiling_set.get(), false, false)); |
1174 | 1174 |
1175 // There are 3 bins in TilePriority. | 1175 // There are 3 bins in TilePriority. |
1176 bool have_tiles[3] = {}; | 1176 bool have_tiles[3] = {}; |
1177 | 1177 |
1178 // On the third iteration, we should get no tiles since everything was | 1178 // On the third iteration, we should get no tiles since everything was |
1179 // marked as ready to draw. | 1179 // marked as ready to draw. |
1180 if (i == 2) { | 1180 if (i == 2) { |
1181 EXPECT_TRUE(queue->IsEmpty()); | 1181 EXPECT_TRUE(queue->IsEmpty()); |
1182 continue; | 1182 continue; |
1183 } | 1183 } |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1275 const int soon_border_outset = 312; | 1275 const int soon_border_outset = 312; |
1276 gfx::Rect soon_rect = moved_viewport; | 1276 gfx::Rect soon_rect = moved_viewport; |
1277 soon_rect.Inset(-soon_border_outset, -soon_border_outset); | 1277 soon_rect.Inset(-soon_border_outset, -soon_border_outset); |
1278 | 1278 |
1279 // There are 3 bins in TilePriority. | 1279 // There are 3 bins in TilePriority. |
1280 bool have_tiles[3] = {}; | 1280 bool have_tiles[3] = {}; |
1281 PrioritizedTile last_tile; | 1281 PrioritizedTile last_tile; |
1282 int eventually_bin_order_correct_count = 0; | 1282 int eventually_bin_order_correct_count = 0; |
1283 int eventually_bin_order_incorrect_count = 0; | 1283 int eventually_bin_order_incorrect_count = 0; |
1284 std::unique_ptr<TilingSetRasterQueueAll> queue( | 1284 std::unique_ptr<TilingSetRasterQueueAll> queue( |
1285 new TilingSetRasterQueueAll(tiling_set.get(), false)); | 1285 new TilingSetRasterQueueAll(tiling_set.get(), false, false)); |
1286 for (; !queue->IsEmpty(); queue->Pop()) { | 1286 for (; !queue->IsEmpty(); queue->Pop()) { |
1287 if (!last_tile.tile()) | 1287 if (!last_tile.tile()) |
1288 last_tile = queue->Top(); | 1288 last_tile = queue->Top(); |
1289 | 1289 |
1290 const PrioritizedTile& new_tile = queue->Top(); | 1290 const PrioritizedTile& new_tile = queue->Top(); |
1291 | 1291 |
1292 TilePriority last_priority = last_tile.priority(); | 1292 TilePriority last_priority = last_tile.priority(); |
1293 TilePriority new_priority = new_tile.priority(); | 1293 TilePriority new_priority = new_tile.priority(); |
1294 | 1294 |
1295 have_tiles[new_priority.priority_bin] = true; | 1295 have_tiles[new_priority.priority_bin] = true; |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1432 // intersect the actual size. | 1432 // intersect the actual size. |
1433 gfx::Rect non_intersecting_rect(2, 2, 10, 10); | 1433 gfx::Rect non_intersecting_rect(2, 2, 10, 10); |
1434 gfx::Rect intersecting_rect(0, 0, 10, 10); | 1434 gfx::Rect intersecting_rect(0, 0, 10, 10); |
1435 { | 1435 { |
1436 tiling->SetTilePriorityRectsForTesting( | 1436 tiling->SetTilePriorityRectsForTesting( |
1437 non_intersecting_rect, // Visible rect. | 1437 non_intersecting_rect, // Visible rect. |
1438 intersecting_rect, // Skewport rect. | 1438 intersecting_rect, // Skewport rect. |
1439 intersecting_rect, // Soon rect. | 1439 intersecting_rect, // Soon rect. |
1440 intersecting_rect); // Eventually rect. | 1440 intersecting_rect); // Eventually rect. |
1441 std::unique_ptr<TilingSetRasterQueueAll> queue( | 1441 std::unique_ptr<TilingSetRasterQueueAll> queue( |
1442 new TilingSetRasterQueueAll(tiling_set.get(), false)); | 1442 new TilingSetRasterQueueAll(tiling_set.get(), false, false)); |
1443 EXPECT_FALSE(queue->IsEmpty()); | 1443 EXPECT_FALSE(queue->IsEmpty()); |
1444 } | 1444 } |
1445 { | 1445 { |
1446 tiling->SetTilePriorityRectsForTesting( | 1446 tiling->SetTilePriorityRectsForTesting( |
1447 non_intersecting_rect, // Visible rect. | 1447 non_intersecting_rect, // Visible rect. |
1448 non_intersecting_rect, // Skewport rect. | 1448 non_intersecting_rect, // Skewport rect. |
1449 intersecting_rect, // Soon rect. | 1449 intersecting_rect, // Soon rect. |
1450 intersecting_rect); // Eventually rect. | 1450 intersecting_rect); // Eventually rect. |
1451 std::unique_ptr<TilingSetRasterQueueAll> queue( | 1451 std::unique_ptr<TilingSetRasterQueueAll> queue( |
1452 new TilingSetRasterQueueAll(tiling_set.get(), false)); | 1452 new TilingSetRasterQueueAll(tiling_set.get(), false, false)); |
1453 EXPECT_FALSE(queue->IsEmpty()); | 1453 EXPECT_FALSE(queue->IsEmpty()); |
1454 } | 1454 } |
1455 { | 1455 { |
1456 tiling->SetTilePriorityRectsForTesting( | 1456 tiling->SetTilePriorityRectsForTesting( |
1457 non_intersecting_rect, // Visible rect. | 1457 non_intersecting_rect, // Visible rect. |
1458 non_intersecting_rect, // Skewport rect. | 1458 non_intersecting_rect, // Skewport rect. |
1459 non_intersecting_rect, // Soon rect. | 1459 non_intersecting_rect, // Soon rect. |
1460 intersecting_rect); // Eventually rect. | 1460 intersecting_rect); // Eventually rect. |
1461 std::unique_ptr<TilingSetRasterQueueAll> queue( | 1461 std::unique_ptr<TilingSetRasterQueueAll> queue( |
1462 new TilingSetRasterQueueAll(tiling_set.get(), false)); | 1462 new TilingSetRasterQueueAll(tiling_set.get(), false, false)); |
1463 EXPECT_FALSE(queue->IsEmpty()); | 1463 EXPECT_FALSE(queue->IsEmpty()); |
1464 } | 1464 } |
1465 } | 1465 } |
1466 | 1466 |
1467 TEST_F(TileManagerTilePriorityQueueTest, NoRasterTasksforSolidColorTiles) { | 1467 TEST_F(TileManagerTilePriorityQueueTest, NoRasterTasksforSolidColorTiles) { |
1468 gfx::Size size(10, 10); | 1468 gfx::Size size(10, 10); |
1469 const gfx::Size layer_bounds(1000, 1000); | 1469 const gfx::Size layer_bounds(1000, 1000); |
1470 | 1470 |
1471 std::unique_ptr<FakeRecordingSource> recording_source = | 1471 std::unique_ptr<FakeRecordingSource> recording_source = |
1472 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); | 1472 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); |
(...skipping 1175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2648 EXPECT_TRUE(tile); | 2648 EXPECT_TRUE(tile); |
2649 else | 2649 else |
2650 EXPECT_FALSE(tile); | 2650 EXPECT_FALSE(tile); |
2651 } | 2651 } |
2652 } | 2652 } |
2653 host_impl()->client()->reset_did_request_impl_side_invalidation(); | 2653 host_impl()->client()->reset_did_request_impl_side_invalidation(); |
2654 } | 2654 } |
2655 | 2655 |
2656 } // namespace | 2656 } // namespace |
2657 } // namespace cc | 2657 } // namespace cc |
OLD | NEW |