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

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

Issue 251003002: cc: prevent TileManager raster/eviction tile iterators copy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « cc/resources/tile_manager.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/tile.h" 5 #include "cc/resources/tile.h"
6 #include "cc/resources/tile_priority.h" 6 #include "cc/resources/tile_priority.h"
7 #include "cc/test/fake_impl_proxy.h" 7 #include "cc/test/fake_impl_proxy.h"
8 #include "cc/test/fake_layer_tree_host_impl.h" 8 #include "cc/test/fake_layer_tree_host_impl.h"
9 #include "cc/test/fake_output_surface.h" 9 #include "cc/test/fake_output_surface.h"
10 #include "cc/test/fake_output_surface_client.h" 10 #include "cc/test/fake_output_surface_client.h"
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 active_layer_->CreateDefaultTilingsAndTiles(); 815 active_layer_->CreateDefaultTilingsAndTiles();
816 pending_layer_->CreateDefaultTilingsAndTiles(); 816 pending_layer_->CreateDefaultTilingsAndTiles();
817 817
818 std::vector<TileManager::PairedPictureLayer> paired_layers; 818 std::vector<TileManager::PairedPictureLayer> paired_layers;
819 tile_manager->GetPairedPictureLayers(&paired_layers); 819 tile_manager->GetPairedPictureLayers(&paired_layers);
820 EXPECT_EQ(1u, paired_layers.size()); 820 EXPECT_EQ(1u, paired_layers.size());
821 821
822 TileManager::RasterTileIterator it(tile_manager, 822 TileManager::RasterTileIterator it(tile_manager,
823 SAME_PRIORITY_FOR_BOTH_TREES); 823 SAME_PRIORITY_FOR_BOTH_TREES);
824 EXPECT_TRUE(it); 824 EXPECT_TRUE(it);
825
826 size_t tile_count = 0;
825 std::set<Tile*> all_tiles; 827 std::set<Tile*> all_tiles;
826 size_t tile_count = 0;
827
828 for (; it; ++it) { 828 for (; it; ++it) {
829 ++tile_count;
830 EXPECT_TRUE(*it); 829 EXPECT_TRUE(*it);
831 all_tiles.insert(*it); 830 all_tiles.insert(*it);
831 ++tile_count;
832 } 832 }
833 833
834 EXPECT_EQ(tile_count, all_tiles.size()); 834 EXPECT_EQ(tile_count, all_tiles.size());
835 EXPECT_EQ(17u, tile_count); 835 EXPECT_EQ(17u, tile_count);
836 836
837 // Sanity check, all tiles should be visible. 837 // Sanity check, all tiles should be visible.
838 std::set<Tile*> smoothness_tiles; 838 std::set<Tile*> smoothness_tiles;
839 for (TileManager::RasterTileIterator it(tile_manager, 839 for (TileManager::RasterTileIterator it(tile_manager,
840 SMOOTHNESS_TAKES_PRIORITY); 840 SMOOTHNESS_TAKES_PRIORITY);
841 it; 841 it;
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 TileManager* tile_manager = TileManagerTileIteratorTest::tile_manager(); 979 TileManager* tile_manager = TileManagerTileIteratorTest::tile_manager();
980 EXPECT_TRUE(tile_manager); 980 EXPECT_TRUE(tile_manager);
981 981
982 active_layer_->CreateDefaultTilingsAndTiles(); 982 active_layer_->CreateDefaultTilingsAndTiles();
983 pending_layer_->CreateDefaultTilingsAndTiles(); 983 pending_layer_->CreateDefaultTilingsAndTiles();
984 984
985 std::vector<TileManager::PairedPictureLayer> paired_layers; 985 std::vector<TileManager::PairedPictureLayer> paired_layers;
986 tile_manager->GetPairedPictureLayers(&paired_layers); 986 tile_manager->GetPairedPictureLayers(&paired_layers);
987 EXPECT_EQ(1u, paired_layers.size()); 987 EXPECT_EQ(1u, paired_layers.size());
988 988
989 TileManager::EvictionTileIterator it(tile_manager, 989 TileManager::EvictionTileIterator empty_it(tile_manager,
990 SAME_PRIORITY_FOR_BOTH_TREES); 990 SAME_PRIORITY_FOR_BOTH_TREES);
991 EXPECT_FALSE(it); 991 EXPECT_FALSE(empty_it);
992 std::set<Tile*> all_tiles; 992 std::set<Tile*> all_tiles;
993 size_t tile_count = 0; 993 size_t tile_count = 0;
994 994
995 for (TileManager::RasterTileIterator raster_it(tile_manager, 995 for (TileManager::RasterTileIterator raster_it(tile_manager,
996 SAME_PRIORITY_FOR_BOTH_TREES); 996 SAME_PRIORITY_FOR_BOTH_TREES);
997 raster_it; 997 raster_it;
998 ++raster_it) { 998 ++raster_it) {
999 ++tile_count; 999 ++tile_count;
1000 EXPECT_TRUE(*raster_it); 1000 EXPECT_TRUE(*raster_it);
1001 all_tiles.insert(*raster_it); 1001 all_tiles.insert(*raster_it);
1002 } 1002 }
1003 1003
1004 EXPECT_EQ(tile_count, all_tiles.size()); 1004 EXPECT_EQ(tile_count, all_tiles.size());
1005 EXPECT_EQ(17u, tile_count); 1005 EXPECT_EQ(17u, tile_count);
1006 1006
1007 tile_manager->InitializeTilesWithResourcesForTesting( 1007 tile_manager->InitializeTilesWithResourcesForTesting(
1008 std::vector<Tile*>(all_tiles.begin(), all_tiles.end())); 1008 std::vector<Tile*>(all_tiles.begin(), all_tiles.end()));
1009 1009
1010 it = TileManager::EvictionTileIterator(tile_manager, 1010 TileManager::EvictionTileIterator it(tile_manager, SMOOTHNESS_TAKES_PRIORITY);
1011 SAME_PRIORITY_FOR_BOTH_TREES);
1012 EXPECT_TRUE(it); 1011 EXPECT_TRUE(it);
1013 1012
1014 // Sanity check, all tiles should be visible. 1013 // Sanity check, all tiles should be visible.
1015 std::set<Tile*> smoothness_tiles; 1014 std::set<Tile*> smoothness_tiles;
1016 for (TileManager::EvictionTileIterator it(tile_manager, 1015 for (; it; ++it) {
1017 SMOOTHNESS_TAKES_PRIORITY);
1018 it;
1019 ++it) {
1020 Tile* tile = *it; 1016 Tile* tile = *it;
1021 EXPECT_TRUE(tile); 1017 EXPECT_TRUE(tile);
1022 EXPECT_EQ(TilePriority::NOW, tile->priority(ACTIVE_TREE).priority_bin); 1018 EXPECT_EQ(TilePriority::NOW, tile->priority(ACTIVE_TREE).priority_bin);
1023 EXPECT_EQ(TilePriority::NOW, tile->priority(PENDING_TREE).priority_bin); 1019 EXPECT_EQ(TilePriority::NOW, tile->priority(PENDING_TREE).priority_bin);
1024 EXPECT_TRUE(tile->HasResources()); 1020 EXPECT_TRUE(tile->HasResources());
1025 smoothness_tiles.insert(tile); 1021 smoothness_tiles.insert(tile);
1026 } 1022 }
1027 EXPECT_EQ(all_tiles, smoothness_tiles); 1023 EXPECT_EQ(all_tiles, smoothness_tiles);
1028 1024
1029 tile_manager->ReleaseTileResourcesForTesting( 1025 tile_manager->ReleaseTileResourcesForTesting(
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1129 1125
1130 last_tile = tile; 1126 last_tile = tile;
1131 new_content_tiles.insert(tile); 1127 new_content_tiles.insert(tile);
1132 } 1128 }
1133 1129
1134 EXPECT_EQ(tile_count, new_content_tiles.size()); 1130 EXPECT_EQ(tile_count, new_content_tiles.size());
1135 EXPECT_EQ(all_tiles, new_content_tiles); 1131 EXPECT_EQ(all_tiles, new_content_tiles);
1136 } 1132 }
1137 } // namespace 1133 } // namespace
1138 } // namespace cc 1134 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/tile_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698