| Index: cc/resources/tile_manager_unittest.cc
|
| diff --git a/cc/resources/tile_manager_unittest.cc b/cc/resources/tile_manager_unittest.cc
|
| index 0e12af6c4f47635ec57c20aee3861ab841350728..1da1da4ebadb1e20a13333ebf9de6cadd73907a3 100644
|
| --- a/cc/resources/tile_manager_unittest.cc
|
| +++ b/cc/resources/tile_manager_unittest.cc
|
| @@ -130,6 +130,21 @@ class TileManagerTilePriorityQueueTest : public testing::Test {
|
| host_impl_.pending_tree()->UpdateDrawProperties();
|
| }
|
|
|
| + scoped_ptr<RasterTilePriorityQueue> BuildRasterQueue(
|
| + TreePriority tree_priority,
|
| + RasterTilePriorityQueue::Type type) {
|
| + global_state_.tree_priority = tree_priority;
|
| + tile_manager()->SetGlobalStateForTesting(global_state_);
|
| + return tile_manager()->BuildRasterQueue(type);
|
| + }
|
| +
|
| + scoped_ptr<EvictionTilePriorityQueue> BuildEvictionQueue(
|
| + TreePriority tree_priority) {
|
| + global_state_.tree_priority = tree_priority;
|
| + tile_manager()->SetGlobalStateForTesting(global_state_);
|
| + return tile_manager()->BuildEvictionQueue();
|
| + }
|
| +
|
| TileManager* tile_manager() { return host_impl_.tile_manager(); }
|
|
|
| protected:
|
| @@ -151,7 +166,7 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
| host_impl_.SetViewportSize(layer_bounds);
|
| SetupDefaultTrees(layer_bounds);
|
|
|
| - scoped_ptr<RasterTilePriorityQueue> queue(host_impl_.BuildRasterQueue(
|
| + scoped_ptr<RasterTilePriorityQueue> queue(BuildRasterQueue(
|
| SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL));
|
| EXPECT_FALSE(queue->IsEmpty());
|
|
|
| @@ -169,8 +184,8 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
|
|
| // Sanity check, all tiles should be visible.
|
| std::set<Tile*> smoothness_tiles;
|
| - queue = host_impl_.BuildRasterQueue(SMOOTHNESS_TAKES_PRIORITY,
|
| - RasterTilePriorityQueue::Type::ALL);
|
| + queue = BuildRasterQueue(SMOOTHNESS_TAKES_PRIORITY,
|
| + RasterTilePriorityQueue::Type::ALL);
|
| bool had_low_res = false;
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -187,9 +202,9 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
| EXPECT_TRUE(had_low_res);
|
|
|
| // Check that everything is required for activation.
|
| - queue = host_impl_.BuildRasterQueue(
|
| - SMOOTHNESS_TAKES_PRIORITY,
|
| - RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION);
|
| + queue =
|
| + BuildRasterQueue(SMOOTHNESS_TAKES_PRIORITY,
|
| + RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION);
|
| std::set<Tile*> required_for_activation_tiles;
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -200,9 +215,8 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
| EXPECT_EQ(all_tiles, required_for_activation_tiles);
|
|
|
| // Check that everything is required for draw.
|
| - queue = host_impl_.BuildRasterQueue(
|
| - SMOOTHNESS_TAKES_PRIORITY,
|
| - RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW);
|
| + queue = BuildRasterQueue(SMOOTHNESS_TAKES_PRIORITY,
|
| + RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW);
|
| std::set<Tile*> required_for_draw_tiles;
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -265,8 +279,8 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
| tile_count = 0;
|
| size_t correct_order_tiles = 0u;
|
| // Here we expect to get increasing ACTIVE_TREE priority_bin.
|
| - queue = host_impl_.BuildRasterQueue(SMOOTHNESS_TAKES_PRIORITY,
|
| - RasterTilePriorityQueue::Type::ALL);
|
| + queue = BuildRasterQueue(SMOOTHNESS_TAKES_PRIORITY,
|
| + RasterTilePriorityQueue::Type::ALL);
|
| std::set<Tile*> expected_required_for_draw_tiles;
|
| std::set<Tile*> expected_required_for_activation_tiles;
|
| while (!queue->IsEmpty()) {
|
| @@ -318,9 +332,9 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
| EXPECT_GT(correct_order_tiles, 3 * tile_count / 4);
|
|
|
| // Check that we have consistent required_for_activation tiles.
|
| - queue = host_impl_.BuildRasterQueue(
|
| - SMOOTHNESS_TAKES_PRIORITY,
|
| - RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION);
|
| + queue =
|
| + BuildRasterQueue(SMOOTHNESS_TAKES_PRIORITY,
|
| + RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION);
|
| required_for_activation_tiles.clear();
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -333,9 +347,8 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
| EXPECT_NE(all_tiles, required_for_activation_tiles);
|
|
|
| // Check that we have consistent required_for_draw tiles.
|
| - queue = host_impl_.BuildRasterQueue(
|
| - SMOOTHNESS_TAKES_PRIORITY,
|
| - RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW);
|
| + queue = BuildRasterQueue(SMOOTHNESS_TAKES_PRIORITY,
|
| + RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW);
|
| required_for_draw_tiles.clear();
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -350,8 +363,8 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
| last_tile = NULL;
|
| size_t increasing_distance_tiles = 0u;
|
| // Here we expect to get increasing PENDING_TREE priority_bin.
|
| - queue = host_impl_.BuildRasterQueue(NEW_CONTENT_TAKES_PRIORITY,
|
| - RasterTilePriorityQueue::Type::ALL);
|
| + queue = BuildRasterQueue(NEW_CONTENT_TAKES_PRIORITY,
|
| + RasterTilePriorityQueue::Type::ALL);
|
| tile_count = 0;
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -389,9 +402,9 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
| EXPECT_GE(increasing_distance_tiles, 3 * tile_count / 4);
|
|
|
| // Check that we have consistent required_for_activation tiles.
|
| - queue = host_impl_.BuildRasterQueue(
|
| - NEW_CONTENT_TAKES_PRIORITY,
|
| - RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION);
|
| + queue =
|
| + BuildRasterQueue(NEW_CONTENT_TAKES_PRIORITY,
|
| + RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION);
|
| required_for_activation_tiles.clear();
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -404,9 +417,8 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
|
| EXPECT_NE(new_content_tiles, required_for_activation_tiles);
|
|
|
| // Check that we have consistent required_for_draw tiles.
|
| - queue = host_impl_.BuildRasterQueue(
|
| - NEW_CONTENT_TAKES_PRIORITY,
|
| - RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW);
|
| + queue = BuildRasterQueue(NEW_CONTENT_TAKES_PRIORITY,
|
| + RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW);
|
| required_for_draw_tiles.clear();
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -478,7 +490,7 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueueInvalidation) {
|
|
|
| // The actual test will now build different queues and verify that the queues
|
| // return the same information as computed manually above.
|
| - scoped_ptr<RasterTilePriorityQueue> queue(host_impl_.BuildRasterQueue(
|
| + scoped_ptr<RasterTilePriorityQueue> queue(BuildRasterQueue(
|
| SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL));
|
| std::set<Tile*> actual_now_tiles;
|
| std::set<Tile*> actual_all_tiles;
|
| @@ -492,9 +504,8 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueueInvalidation) {
|
| EXPECT_EQ(expected_now_tiles, actual_now_tiles);
|
| EXPECT_EQ(expected_all_tiles, actual_all_tiles);
|
|
|
| - queue = host_impl_.BuildRasterQueue(
|
| - SAME_PRIORITY_FOR_BOTH_TREES,
|
| - RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW);
|
| + queue = BuildRasterQueue(SAME_PRIORITY_FOR_BOTH_TREES,
|
| + RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW);
|
| std::set<Tile*> actual_required_for_draw_tiles;
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -503,9 +514,9 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueueInvalidation) {
|
| }
|
| EXPECT_EQ(expected_required_for_draw_tiles, actual_required_for_draw_tiles);
|
|
|
| - queue = host_impl_.BuildRasterQueue(
|
| - SAME_PRIORITY_FOR_BOTH_TREES,
|
| - RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION);
|
| + queue =
|
| + BuildRasterQueue(SAME_PRIORITY_FOR_BOTH_TREES,
|
| + RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION);
|
| std::set<Tile*> actual_required_for_activation_tiles;
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| @@ -544,7 +555,7 @@ TEST_F(TileManagerTilePriorityQueueTest, ActivationComesBeforeEventually) {
|
| host_impl_.pending_tree()->UpdateDrawProperties();
|
|
|
| host_impl_.SetRequiresHighResToDraw();
|
| - scoped_ptr<RasterTilePriorityQueue> queue(host_impl_.BuildRasterQueue(
|
| + scoped_ptr<RasterTilePriorityQueue> queue(BuildRasterQueue(
|
| SMOOTHNESS_TAKES_PRIORITY, RasterTilePriorityQueue::Type::ALL));
|
| EXPECT_FALSE(queue->IsEmpty());
|
|
|
| @@ -573,12 +584,12 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
|
| SetupDefaultTrees(layer_bounds);
|
|
|
| scoped_ptr<EvictionTilePriorityQueue> empty_queue(
|
| - host_impl_.BuildEvictionQueue(SAME_PRIORITY_FOR_BOTH_TREES));
|
| + BuildEvictionQueue(SAME_PRIORITY_FOR_BOTH_TREES));
|
| EXPECT_TRUE(empty_queue->IsEmpty());
|
| std::set<Tile*> all_tiles;
|
| size_t tile_count = 0;
|
|
|
| - scoped_ptr<RasterTilePriorityQueue> raster_queue(host_impl_.BuildRasterQueue(
|
| + scoped_ptr<RasterTilePriorityQueue> raster_queue(BuildRasterQueue(
|
| SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL));
|
| while (!raster_queue->IsEmpty()) {
|
| ++tile_count;
|
| @@ -594,7 +605,7 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
|
| std::vector<Tile*>(all_tiles.begin(), all_tiles.end()));
|
|
|
| scoped_ptr<EvictionTilePriorityQueue> queue(
|
| - host_impl_.BuildEvictionQueue(SMOOTHNESS_TAKES_PRIORITY));
|
| + BuildEvictionQueue(SMOOTHNESS_TAKES_PRIORITY));
|
| EXPECT_FALSE(queue->IsEmpty());
|
|
|
| // Sanity check, all tiles should be visible.
|
| @@ -663,7 +674,7 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
|
| smoothness_tiles.clear();
|
| tile_count = 0;
|
| // Here we expect to get increasing ACTIVE_TREE priority_bin.
|
| - queue = host_impl_.BuildEvictionQueue(SMOOTHNESS_TAKES_PRIORITY);
|
| + queue = BuildEvictionQueue(SMOOTHNESS_TAKES_PRIORITY);
|
| int distance_increasing = 0;
|
| int distance_decreasing = 0;
|
| while (!queue->IsEmpty()) {
|
| @@ -704,7 +715,7 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
|
| std::set<Tile*> new_content_tiles;
|
| last_tile = NULL;
|
| // Here we expect to get increasing PENDING_TREE priority_bin.
|
| - queue = host_impl_.BuildEvictionQueue(NEW_CONTENT_TAKES_PRIORITY);
|
| + queue = BuildEvictionQueue(NEW_CONTENT_TAKES_PRIORITY);
|
| distance_decreasing = 0;
|
| distance_increasing = 0;
|
| while (!queue->IsEmpty()) {
|
| @@ -773,7 +784,7 @@ TEST_F(TileManagerTilePriorityQueueTest,
|
|
|
| std::set<Tile*> all_tiles;
|
| size_t tile_count = 0;
|
| - scoped_ptr<RasterTilePriorityQueue> raster_queue(host_impl_.BuildRasterQueue(
|
| + scoped_ptr<RasterTilePriorityQueue> raster_queue(BuildRasterQueue(
|
| SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL));
|
| while (!raster_queue->IsEmpty()) {
|
| ++tile_count;
|
| @@ -829,7 +840,7 @@ TEST_F(TileManagerTilePriorityQueueTest,
|
| size_t occluded_count = 0u;
|
| Tile* last_tile = NULL;
|
| scoped_ptr<EvictionTilePriorityQueue> queue(
|
| - host_impl_.BuildEvictionQueue(tree_priority));
|
| + BuildEvictionQueue(tree_priority));
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| if (!last_tile)
|
| @@ -955,7 +966,7 @@ TEST_F(TileManagerTilePriorityQueueTest,
|
| std::set<Tile*> new_content_tiles;
|
| size_t tile_count = 0;
|
| scoped_ptr<EvictionTilePriorityQueue> queue(
|
| - host_impl_.BuildEvictionQueue(tree_priority));
|
| + BuildEvictionQueue(tree_priority));
|
| while (!queue->IsEmpty()) {
|
| Tile* tile = queue->Top();
|
| const TilePriority& pending_priority = tile->priority(PENDING_TREE);
|
| @@ -978,7 +989,7 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueueEmptyLayers) {
|
| host_impl_.SetViewportSize(layer_bounds);
|
| SetupDefaultTrees(layer_bounds);
|
|
|
| - scoped_ptr<RasterTilePriorityQueue> queue(host_impl_.BuildRasterQueue(
|
| + scoped_ptr<RasterTilePriorityQueue> queue(BuildRasterQueue(
|
| SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL));
|
| EXPECT_FALSE(queue->IsEmpty());
|
|
|
| @@ -1002,8 +1013,8 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueueEmptyLayers) {
|
| pending_layer_->AddChild(pending_layer.Pass());
|
| }
|
|
|
| - queue = host_impl_.BuildRasterQueue(SAME_PRIORITY_FOR_BOTH_TREES,
|
| - RasterTilePriorityQueue::Type::ALL);
|
| + queue = BuildRasterQueue(SAME_PRIORITY_FOR_BOTH_TREES,
|
| + RasterTilePriorityQueue::Type::ALL);
|
| EXPECT_FALSE(queue->IsEmpty());
|
|
|
| tile_count = 0;
|
| @@ -1023,7 +1034,7 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueueEmptyLayers) {
|
| host_impl_.SetViewportSize(layer_bounds);
|
| SetupDefaultTrees(layer_bounds);
|
|
|
| - scoped_ptr<RasterTilePriorityQueue> raster_queue(host_impl_.BuildRasterQueue(
|
| + scoped_ptr<RasterTilePriorityQueue> raster_queue(BuildRasterQueue(
|
| SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL));
|
| EXPECT_FALSE(raster_queue->IsEmpty());
|
|
|
| @@ -1050,7 +1061,7 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueueEmptyLayers) {
|
| }
|
|
|
| scoped_ptr<EvictionTilePriorityQueue> queue(
|
| - host_impl_.BuildEvictionQueue(SAME_PRIORITY_FOR_BOTH_TREES));
|
| + BuildEvictionQueue(SAME_PRIORITY_FOR_BOTH_TREES));
|
| EXPECT_FALSE(queue->IsEmpty());
|
|
|
| tile_count = 0;
|
|
|