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

Side by Side Diff: cc/resources/tile_manager_unittest.cc

Issue 862263004: cc: Make eviction queue building consistent with raster. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update Created 5 years, 11 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 unified diff | Download patch
OLDNEW
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 "cc/resources/eviction_tile_priority_queue.h" 5 #include "cc/resources/eviction_tile_priority_queue.h"
6 #include "cc/resources/raster_tile_priority_queue.h" 6 #include "cc/resources/raster_tile_priority_queue.h"
7 #include "cc/resources/tile.h" 7 #include "cc/resources/tile.h"
8 #include "cc/resources/tile_priority.h" 8 #include "cc/resources/tile_priority.h"
9 #include "cc/resources/tiling_set_raster_queue_all.h" 9 #include "cc/resources/tiling_set_raster_queue_all.h"
10 #include "cc/test/begin_frame_args_test.h" 10 #include "cc/test/begin_frame_args_test.h"
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 // Ensure we can activate. 576 // Ensure we can activate.
577 EXPECT_TRUE(pending_layer_->AllTilesRequiredForActivationAreReadyToDraw()); 577 EXPECT_TRUE(pending_layer_->AllTilesRequiredForActivationAreReadyToDraw());
578 EXPECT_TRUE(pending_child_raw->AllTilesRequiredForActivationAreReadyToDraw()); 578 EXPECT_TRUE(pending_child_raw->AllTilesRequiredForActivationAreReadyToDraw());
579 } 579 }
580 580
581 TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) { 581 TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
582 const gfx::Size layer_bounds(1000, 1000); 582 const gfx::Size layer_bounds(1000, 1000);
583 host_impl_.SetViewportSize(layer_bounds); 583 host_impl_.SetViewportSize(layer_bounds);
584 SetupDefaultTrees(layer_bounds); 584 SetupDefaultTrees(layer_bounds);
585 585
586 EvictionTilePriorityQueue empty_queue; 586 scoped_ptr<EvictionTilePriorityQueue> empty_queue(
587 host_impl_.BuildEvictionQueue(&empty_queue, SAME_PRIORITY_FOR_BOTH_TREES); 587 host_impl_.BuildEvictionQueue(SAME_PRIORITY_FOR_BOTH_TREES));
588 EXPECT_TRUE(empty_queue.IsEmpty()); 588 EXPECT_TRUE(empty_queue->IsEmpty());
589 std::set<Tile*> all_tiles; 589 std::set<Tile*> all_tiles;
590 size_t tile_count = 0; 590 size_t tile_count = 0;
591 591
592 RasterTilePriorityQueue raster_queue; 592 RasterTilePriorityQueue raster_queue;
593 host_impl_.BuildRasterQueue(&raster_queue, SAME_PRIORITY_FOR_BOTH_TREES, 593 host_impl_.BuildRasterQueue(&raster_queue, SAME_PRIORITY_FOR_BOTH_TREES,
594 RasterTilePriorityQueue::Type::ALL); 594 RasterTilePriorityQueue::Type::ALL);
595 while (!raster_queue.IsEmpty()) { 595 while (!raster_queue.IsEmpty()) {
596 ++tile_count; 596 ++tile_count;
597 EXPECT_TRUE(raster_queue.Top()); 597 EXPECT_TRUE(raster_queue.Top());
598 all_tiles.insert(raster_queue.Top()); 598 all_tiles.insert(raster_queue.Top());
599 raster_queue.Pop(); 599 raster_queue.Pop();
600 } 600 }
601 601
602 EXPECT_EQ(tile_count, all_tiles.size()); 602 EXPECT_EQ(tile_count, all_tiles.size());
603 EXPECT_EQ(16u, tile_count); 603 EXPECT_EQ(16u, tile_count);
604 604
605 tile_manager()->InitializeTilesWithResourcesForTesting( 605 tile_manager()->InitializeTilesWithResourcesForTesting(
606 std::vector<Tile*>(all_tiles.begin(), all_tiles.end())); 606 std::vector<Tile*>(all_tiles.begin(), all_tiles.end()));
607 607
608 EvictionTilePriorityQueue queue; 608 scoped_ptr<EvictionTilePriorityQueue> queue(
609 host_impl_.BuildEvictionQueue(&queue, SMOOTHNESS_TAKES_PRIORITY); 609 host_impl_.BuildEvictionQueue(SMOOTHNESS_TAKES_PRIORITY));
610 EXPECT_FALSE(queue.IsEmpty()); 610 EXPECT_FALSE(queue->IsEmpty());
611 611
612 // Sanity check, all tiles should be visible. 612 // Sanity check, all tiles should be visible.
613 std::set<Tile*> smoothness_tiles; 613 std::set<Tile*> smoothness_tiles;
614 while (!queue.IsEmpty()) { 614 while (!queue->IsEmpty()) {
615 Tile* tile = queue.Top(); 615 Tile* tile = queue->Top();
616 EXPECT_TRUE(tile); 616 EXPECT_TRUE(tile);
617 EXPECT_EQ(TilePriority::NOW, tile->priority(ACTIVE_TREE).priority_bin); 617 EXPECT_EQ(TilePriority::NOW, tile->priority(ACTIVE_TREE).priority_bin);
618 EXPECT_EQ(TilePriority::NOW, tile->priority(PENDING_TREE).priority_bin); 618 EXPECT_EQ(TilePriority::NOW, tile->priority(PENDING_TREE).priority_bin);
619 EXPECT_TRUE(tile->HasResource()); 619 EXPECT_TRUE(tile->HasResource());
620 smoothness_tiles.insert(tile); 620 smoothness_tiles.insert(tile);
621 queue.Pop(); 621 queue->Pop();
622 } 622 }
623 EXPECT_EQ(all_tiles, smoothness_tiles); 623 EXPECT_EQ(all_tiles, smoothness_tiles);
624 624
625 tile_manager()->ReleaseTileResourcesForTesting( 625 tile_manager()->ReleaseTileResourcesForTesting(
626 std::vector<Tile*>(all_tiles.begin(), all_tiles.end())); 626 std::vector<Tile*>(all_tiles.begin(), all_tiles.end()));
627 627
628 Region invalidation(gfx::Rect(0, 0, 500, 500)); 628 Region invalidation(gfx::Rect(0, 0, 500, 500));
629 629
630 // Invalidate the pending tree. 630 // Invalidate the pending tree.
631 pending_layer_->set_invalidation(invalidation); 631 pending_layer_->set_invalidation(invalidation);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 for (size_t i = 0; i < active_low_res_tiles.size(); ++i) 668 for (size_t i = 0; i < active_low_res_tiles.size(); ++i)
669 all_tiles.insert(active_low_res_tiles[i]); 669 all_tiles.insert(active_low_res_tiles[i]);
670 670
671 tile_manager()->InitializeTilesWithResourcesForTesting( 671 tile_manager()->InitializeTilesWithResourcesForTesting(
672 std::vector<Tile*>(all_tiles.begin(), all_tiles.end())); 672 std::vector<Tile*>(all_tiles.begin(), all_tiles.end()));
673 673
674 Tile* last_tile = NULL; 674 Tile* last_tile = NULL;
675 smoothness_tiles.clear(); 675 smoothness_tiles.clear();
676 tile_count = 0; 676 tile_count = 0;
677 // Here we expect to get increasing ACTIVE_TREE priority_bin. 677 // Here we expect to get increasing ACTIVE_TREE priority_bin.
678 queue.Reset(); 678 queue = host_impl_.BuildEvictionQueue(SMOOTHNESS_TAKES_PRIORITY);
679 host_impl_.BuildEvictionQueue(&queue, SMOOTHNESS_TAKES_PRIORITY);
680 int distance_increasing = 0; 679 int distance_increasing = 0;
681 int distance_decreasing = 0; 680 int distance_decreasing = 0;
682 while (!queue.IsEmpty()) { 681 while (!queue->IsEmpty()) {
683 Tile* tile = queue.Top(); 682 Tile* tile = queue->Top();
684 EXPECT_TRUE(tile); 683 EXPECT_TRUE(tile);
685 EXPECT_TRUE(tile->HasResource()); 684 EXPECT_TRUE(tile->HasResource());
686 685
687 if (!last_tile) 686 if (!last_tile)
688 last_tile = tile; 687 last_tile = tile;
689 688
690 EXPECT_GE(last_tile->priority(ACTIVE_TREE).priority_bin, 689 EXPECT_GE(last_tile->priority(ACTIVE_TREE).priority_bin,
691 tile->priority(ACTIVE_TREE).priority_bin); 690 tile->priority(ACTIVE_TREE).priority_bin);
692 if (last_tile->priority(ACTIVE_TREE).priority_bin == 691 if (last_tile->priority(ACTIVE_TREE).priority_bin ==
693 tile->priority(ACTIVE_TREE).priority_bin) { 692 tile->priority(ACTIVE_TREE).priority_bin) {
694 EXPECT_LE(last_tile->required_for_activation(), 693 EXPECT_LE(last_tile->required_for_activation(),
695 tile->required_for_activation()); 694 tile->required_for_activation());
696 if (last_tile->required_for_activation() == 695 if (last_tile->required_for_activation() ==
697 tile->required_for_activation()) { 696 tile->required_for_activation()) {
698 if (last_tile->priority(ACTIVE_TREE).distance_to_visible >= 697 if (last_tile->priority(ACTIVE_TREE).distance_to_visible >=
699 tile->priority(ACTIVE_TREE).distance_to_visible) 698 tile->priority(ACTIVE_TREE).distance_to_visible)
700 ++distance_decreasing; 699 ++distance_decreasing;
701 else 700 else
702 ++distance_increasing; 701 ++distance_increasing;
703 } 702 }
704 } 703 }
705 704
706 last_tile = tile; 705 last_tile = tile;
707 ++tile_count; 706 ++tile_count;
708 smoothness_tiles.insert(tile); 707 smoothness_tiles.insert(tile);
709 queue.Pop(); 708 queue->Pop();
710 } 709 }
711 710
712 EXPECT_EQ(3, distance_increasing); 711 EXPECT_EQ(3, distance_increasing);
713 EXPECT_EQ(16, distance_decreasing); 712 EXPECT_EQ(16, distance_decreasing);
714 EXPECT_EQ(tile_count, smoothness_tiles.size()); 713 EXPECT_EQ(tile_count, smoothness_tiles.size());
715 EXPECT_EQ(all_tiles, smoothness_tiles); 714 EXPECT_EQ(all_tiles, smoothness_tiles);
716 715
717 std::set<Tile*> new_content_tiles; 716 std::set<Tile*> new_content_tiles;
718 last_tile = NULL; 717 last_tile = NULL;
719 // Here we expect to get increasing PENDING_TREE priority_bin. 718 // Here we expect to get increasing PENDING_TREE priority_bin.
720 queue.Reset(); 719 queue = host_impl_.BuildEvictionQueue(NEW_CONTENT_TAKES_PRIORITY);
721 host_impl_.BuildEvictionQueue(&queue, NEW_CONTENT_TAKES_PRIORITY);
722 distance_decreasing = 0; 720 distance_decreasing = 0;
723 distance_increasing = 0; 721 distance_increasing = 0;
724 while (!queue.IsEmpty()) { 722 while (!queue->IsEmpty()) {
725 Tile* tile = queue.Top(); 723 Tile* tile = queue->Top();
726 EXPECT_TRUE(tile); 724 EXPECT_TRUE(tile);
727 725
728 if (!last_tile) 726 if (!last_tile)
729 last_tile = tile; 727 last_tile = tile;
730 728
731 EXPECT_GE(last_tile->priority(PENDING_TREE).priority_bin, 729 EXPECT_GE(last_tile->priority(PENDING_TREE).priority_bin,
732 tile->priority(PENDING_TREE).priority_bin); 730 tile->priority(PENDING_TREE).priority_bin);
733 if (last_tile->priority(PENDING_TREE).priority_bin == 731 if (last_tile->priority(PENDING_TREE).priority_bin ==
734 tile->priority(PENDING_TREE).priority_bin) { 732 tile->priority(PENDING_TREE).priority_bin) {
735 EXPECT_LE(last_tile->required_for_activation(), 733 EXPECT_LE(last_tile->required_for_activation(),
736 tile->required_for_activation()); 734 tile->required_for_activation());
737 if (last_tile->required_for_activation() == 735 if (last_tile->required_for_activation() ==
738 tile->required_for_activation()) { 736 tile->required_for_activation()) {
739 if (last_tile->priority(PENDING_TREE).distance_to_visible >= 737 if (last_tile->priority(PENDING_TREE).distance_to_visible >=
740 tile->priority(PENDING_TREE).distance_to_visible) 738 tile->priority(PENDING_TREE).distance_to_visible)
741 ++distance_decreasing; 739 ++distance_decreasing;
742 else 740 else
743 ++distance_increasing; 741 ++distance_increasing;
744 } 742 }
745 } 743 }
746 744
747 last_tile = tile; 745 last_tile = tile;
748 new_content_tiles.insert(tile); 746 new_content_tiles.insert(tile);
749 queue.Pop(); 747 queue->Pop();
750 } 748 }
751 749
752 EXPECT_EQ(3, distance_increasing); 750 EXPECT_EQ(3, distance_increasing);
753 EXPECT_EQ(16, distance_decreasing); 751 EXPECT_EQ(16, distance_decreasing);
754 EXPECT_EQ(tile_count, new_content_tiles.size()); 752 EXPECT_EQ(tile_count, new_content_tiles.size());
755 EXPECT_EQ(all_tiles, new_content_tiles); 753 EXPECT_EQ(all_tiles, new_content_tiles);
756 } 754 }
757 755
758 TEST_F(TileManagerTilePriorityQueueTest, 756 TEST_F(TileManagerTilePriorityQueueTest,
759 EvictionTilePriorityQueueWithOcclusion) { 757 EvictionTilePriorityQueueWithOcclusion) {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
836 all_tiles.insert(pending_child_low_res_tiles.begin(), 834 all_tiles.insert(pending_child_low_res_tiles.begin(),
837 pending_child_low_res_tiles.end()); 835 pending_child_low_res_tiles.end());
838 836
839 tile_manager()->InitializeTilesWithResourcesForTesting( 837 tile_manager()->InitializeTilesWithResourcesForTesting(
840 std::vector<Tile*>(all_tiles.begin(), all_tiles.end())); 838 std::vector<Tile*>(all_tiles.begin(), all_tiles.end()));
841 839
842 // Verify occlusion is considered by EvictionTilePriorityQueue. 840 // Verify occlusion is considered by EvictionTilePriorityQueue.
843 TreePriority tree_priority = NEW_CONTENT_TAKES_PRIORITY; 841 TreePriority tree_priority = NEW_CONTENT_TAKES_PRIORITY;
844 size_t occluded_count = 0u; 842 size_t occluded_count = 0u;
845 Tile* last_tile = NULL; 843 Tile* last_tile = NULL;
846 EvictionTilePriorityQueue queue; 844 scoped_ptr<EvictionTilePriorityQueue> queue(
847 host_impl_.BuildEvictionQueue(&queue, tree_priority); 845 host_impl_.BuildEvictionQueue(tree_priority));
848 while (!queue.IsEmpty()) { 846 while (!queue->IsEmpty()) {
849 Tile* tile = queue.Top(); 847 Tile* tile = queue->Top();
850 if (!last_tile) 848 if (!last_tile)
851 last_tile = tile; 849 last_tile = tile;
852 850
853 bool tile_is_occluded = tile->is_occluded_for_tree_priority(tree_priority); 851 bool tile_is_occluded = tile->is_occluded_for_tree_priority(tree_priority);
854 852
855 // The only way we will encounter an occluded tile after an unoccluded 853 // The only way we will encounter an occluded tile after an unoccluded
856 // tile is if the priorty bin decreased, the tile is required for 854 // tile is if the priorty bin decreased, the tile is required for
857 // activation, or the scale changed. 855 // activation, or the scale changed.
858 if (tile_is_occluded) { 856 if (tile_is_occluded) {
859 occluded_count++; 857 occluded_count++;
860 858
861 bool last_tile_is_occluded = 859 bool last_tile_is_occluded =
862 last_tile->is_occluded_for_tree_priority(tree_priority); 860 last_tile->is_occluded_for_tree_priority(tree_priority);
863 if (!last_tile_is_occluded) { 861 if (!last_tile_is_occluded) {
864 TilePriority::PriorityBin tile_priority_bin = 862 TilePriority::PriorityBin tile_priority_bin =
865 tile->priority_for_tree_priority(tree_priority).priority_bin; 863 tile->priority_for_tree_priority(tree_priority).priority_bin;
866 TilePriority::PriorityBin last_tile_priority_bin = 864 TilePriority::PriorityBin last_tile_priority_bin =
867 last_tile->priority_for_tree_priority(tree_priority).priority_bin; 865 last_tile->priority_for_tree_priority(tree_priority).priority_bin;
868 866
869 EXPECT_TRUE((tile_priority_bin < last_tile_priority_bin) || 867 EXPECT_TRUE((tile_priority_bin < last_tile_priority_bin) ||
870 tile->required_for_activation() || 868 tile->required_for_activation() ||
871 (tile->contents_scale() != last_tile->contents_scale())); 869 (tile->contents_scale() != last_tile->contents_scale()));
872 } 870 }
873 } 871 }
874 last_tile = tile; 872 last_tile = tile;
875 queue.Pop(); 873 queue->Pop();
876 } 874 }
877 size_t expected_occluded_count = 875 size_t expected_occluded_count =
878 pending_child_high_res_tiles.size() + pending_child_low_res_tiles.size(); 876 pending_child_high_res_tiles.size() + pending_child_low_res_tiles.size();
879 EXPECT_EQ(expected_occluded_count, occluded_count); 877 EXPECT_EQ(expected_occluded_count, occluded_count);
880 } 878 }
881 879
882 TEST_F(TileManagerTilePriorityQueueTest, 880 TEST_F(TileManagerTilePriorityQueueTest,
883 EvictionTilePriorityQueueWithTransparentLayer) { 881 EvictionTilePriorityQueueWithTransparentLayer) {
884 base::TimeTicks time_ticks; 882 base::TimeTicks time_ticks;
885 time_ticks += base::TimeDelta::FromMilliseconds(1); 883 time_ticks += base::TimeDelta::FromMilliseconds(1);
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
962 960
963 EXPECT_TRUE(pending_layer_->HasValidTilePriorities()); 961 EXPECT_TRUE(pending_layer_->HasValidTilePriorities());
964 EXPECT_FALSE(pending_child_layer->HasValidTilePriorities()); 962 EXPECT_FALSE(pending_child_layer->HasValidTilePriorities());
965 963
966 // Verify that eviction queue returns tiles also from layers without valid 964 // Verify that eviction queue returns tiles also from layers without valid
967 // tile priorities and that the tile priority bin of those tiles is (at most) 965 // tile priorities and that the tile priority bin of those tiles is (at most)
968 // EVENTUALLY. 966 // EVENTUALLY.
969 TreePriority tree_priority = NEW_CONTENT_TAKES_PRIORITY; 967 TreePriority tree_priority = NEW_CONTENT_TAKES_PRIORITY;
970 std::set<Tile*> new_content_tiles; 968 std::set<Tile*> new_content_tiles;
971 size_t tile_count = 0; 969 size_t tile_count = 0;
972 EvictionTilePriorityQueue queue; 970 scoped_ptr<EvictionTilePriorityQueue> queue(
973 host_impl_.BuildEvictionQueue(&queue, tree_priority); 971 host_impl_.BuildEvictionQueue(tree_priority));
974 while (!queue.IsEmpty()) { 972 while (!queue->IsEmpty()) {
975 Tile* tile = queue.Top(); 973 Tile* tile = queue->Top();
976 const TilePriority& pending_priority = tile->priority(PENDING_TREE); 974 const TilePriority& pending_priority = tile->priority(PENDING_TREE);
977 EXPECT_NE(std::numeric_limits<float>::infinity(), 975 EXPECT_NE(std::numeric_limits<float>::infinity(),
978 pending_priority.distance_to_visible); 976 pending_priority.distance_to_visible);
979 if (all_pending_child_tiles.find(tile) != all_pending_child_tiles.end()) 977 if (all_pending_child_tiles.find(tile) != all_pending_child_tiles.end())
980 EXPECT_EQ(TilePriority::EVENTUALLY, pending_priority.priority_bin); 978 EXPECT_EQ(TilePriority::EVENTUALLY, pending_priority.priority_bin);
981 else 979 else
982 EXPECT_EQ(TilePriority::NOW, pending_priority.priority_bin); 980 EXPECT_EQ(TilePriority::NOW, pending_priority.priority_bin);
983 new_content_tiles.insert(tile); 981 new_content_tiles.insert(tile);
984 ++tile_count; 982 ++tile_count;
985 queue.Pop(); 983 queue->Pop();
986 } 984 }
987 EXPECT_EQ(tile_count, new_content_tiles.size()); 985 EXPECT_EQ(tile_count, new_content_tiles.size());
988 EXPECT_EQ(all_tiles, new_content_tiles); 986 EXPECT_EQ(all_tiles, new_content_tiles);
989 } 987 }
990 988
991 TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueueEmptyLayers) { 989 TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueueEmptyLayers) {
992 const gfx::Size layer_bounds(1000, 1000); 990 const gfx::Size layer_bounds(1000, 1000);
993 host_impl_.SetViewportSize(layer_bounds); 991 host_impl_.SetViewportSize(layer_bounds);
994 SetupDefaultTrees(layer_bounds); 992 SetupDefaultTrees(layer_bounds);
995 993
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1052 all_tiles.insert(raster_queue.Top()); 1050 all_tiles.insert(raster_queue.Top());
1053 ++tile_count; 1051 ++tile_count;
1054 raster_queue.Pop(); 1052 raster_queue.Pop();
1055 } 1053 }
1056 EXPECT_EQ(tile_count, all_tiles.size()); 1054 EXPECT_EQ(tile_count, all_tiles.size());
1057 EXPECT_EQ(16u, tile_count); 1055 EXPECT_EQ(16u, tile_count);
1058 1056
1059 std::vector<Tile*> tiles(all_tiles.begin(), all_tiles.end()); 1057 std::vector<Tile*> tiles(all_tiles.begin(), all_tiles.end());
1060 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(tiles); 1058 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(tiles);
1061 1059
1062 EvictionTilePriorityQueue queue;
1063 for (int i = 1; i < 10; ++i) { 1060 for (int i = 1; i < 10; ++i) {
1064 scoped_ptr<FakePictureLayerImpl> pending_layer = 1061 scoped_ptr<FakePictureLayerImpl> pending_layer =
1065 FakePictureLayerImpl::Create(host_impl_.pending_tree(), id_ + i); 1062 FakePictureLayerImpl::Create(host_impl_.pending_tree(), id_ + i);
1066 pending_layer->SetDrawsContent(true); 1063 pending_layer->SetDrawsContent(true);
1067 pending_layer->set_has_valid_tile_priorities(true); 1064 pending_layer->set_has_valid_tile_priorities(true);
1068 pending_layer_->AddChild(pending_layer.Pass()); 1065 pending_layer_->AddChild(pending_layer.Pass());
1069 } 1066 }
1070 1067
1071 host_impl_.BuildEvictionQueue(&queue, SAME_PRIORITY_FOR_BOTH_TREES); 1068 scoped_ptr<EvictionTilePriorityQueue> queue(
1072 EXPECT_FALSE(queue.IsEmpty()); 1069 host_impl_.BuildEvictionQueue(SAME_PRIORITY_FOR_BOTH_TREES));
1070 EXPECT_FALSE(queue->IsEmpty());
1073 1071
1074 tile_count = 0; 1072 tile_count = 0;
1075 all_tiles.clear(); 1073 all_tiles.clear();
1076 while (!queue.IsEmpty()) { 1074 while (!queue->IsEmpty()) {
1077 EXPECT_TRUE(queue.Top()); 1075 EXPECT_TRUE(queue->Top());
1078 all_tiles.insert(queue.Top()); 1076 all_tiles.insert(queue->Top());
1079 ++tile_count; 1077 ++tile_count;
1080 queue.Pop(); 1078 queue->Pop();
1081 } 1079 }
1082 EXPECT_EQ(tile_count, all_tiles.size()); 1080 EXPECT_EQ(tile_count, all_tiles.size());
1083 EXPECT_EQ(16u, tile_count); 1081 EXPECT_EQ(16u, tile_count);
1084 } 1082 }
1085 1083
1086 TEST_F(TileManagerTilePriorityQueueTest, 1084 TEST_F(TileManagerTilePriorityQueueTest,
1087 RasterTilePriorityQueueStaticViewport) { 1085 RasterTilePriorityQueueStaticViewport) {
1088 FakePictureLayerTilingClient client; 1086 FakePictureLayerTilingClient client;
1089 1087
1090 gfx::Rect viewport(50, 50, 100, 100); 1088 gfx::Rect viewport(50, 50, 100, 100);
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 EXPECT_GT(eventually_bin_order_correct_count, 1263 EXPECT_GT(eventually_bin_order_correct_count,
1266 eventually_bin_order_incorrect_count); 1264 eventually_bin_order_incorrect_count);
1267 1265
1268 EXPECT_TRUE(have_tiles[TilePriority::NOW]); 1266 EXPECT_TRUE(have_tiles[TilePriority::NOW]);
1269 EXPECT_TRUE(have_tiles[TilePriority::SOON]); 1267 EXPECT_TRUE(have_tiles[TilePriority::SOON]);
1270 EXPECT_TRUE(have_tiles[TilePriority::EVENTUALLY]); 1268 EXPECT_TRUE(have_tiles[TilePriority::EVENTUALLY]);
1271 } 1269 }
1272 1270
1273 } // namespace 1271 } // namespace
1274 } // namespace cc 1272 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698