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

Unified Diff: cc/resources/tile_manager_unittest.cc

Issue 900073003: cc: Rework how picture layer tiling set gets into raster queues. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/resources/tile_manager_perftest.cc ('k') | cc/test/fake_picture_layer_tiling_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/tile_manager_unittest.cc
diff --git a/cc/resources/tile_manager_unittest.cc b/cc/resources/tile_manager_unittest.cc
index 972a83918547f8819084f6381f1cab6a9481b0fa..392d234feacf82ded5eec8d9f8cc8a1c63aa22b3 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()) {
@@ -705,7 +716,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()) {
@@ -775,7 +786,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;
@@ -831,7 +842,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)
@@ -957,7 +968,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);
@@ -980,7 +991,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());
@@ -1004,8 +1015,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;
@@ -1025,7 +1036,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());
@@ -1052,7 +1063,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;
« no previous file with comments | « cc/resources/tile_manager_perftest.cc ('k') | cc/test/fake_picture_layer_tiling_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698