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

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

Issue 664803003: Update from chromium a8e7c94b1b79a0948d05a1fcfff53391d22ce37a (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 2 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/test/fake_impl_proxy.h" 9 #include "cc/test/fake_impl_proxy.h"
10 #include "cc/test/fake_layer_tree_host_impl.h" 10 #include "cc/test/fake_layer_tree_host_impl.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 size_t tile_count = 0; 150 size_t tile_count = 0;
151 std::set<Tile*> all_tiles; 151 std::set<Tile*> all_tiles;
152 while (!queue.IsEmpty()) { 152 while (!queue.IsEmpty()) {
153 EXPECT_TRUE(queue.Top()); 153 EXPECT_TRUE(queue.Top());
154 all_tiles.insert(queue.Top()); 154 all_tiles.insert(queue.Top());
155 ++tile_count; 155 ++tile_count;
156 queue.Pop(); 156 queue.Pop();
157 } 157 }
158 158
159 EXPECT_EQ(tile_count, all_tiles.size()); 159 EXPECT_EQ(tile_count, all_tiles.size());
160 EXPECT_EQ(17u, tile_count); 160 EXPECT_EQ(16u, tile_count);
161 161
162 // Sanity check, all tiles should be visible. 162 // Sanity check, all tiles should be visible.
163 std::set<Tile*> smoothness_tiles; 163 std::set<Tile*> smoothness_tiles;
164 queue.Reset(); 164 queue.Reset();
165 host_impl_.BuildRasterQueue(&queue, SMOOTHNESS_TAKES_PRIORITY); 165 host_impl_.BuildRasterQueue(&queue, SMOOTHNESS_TAKES_PRIORITY);
166 bool had_low_res = false;
166 while (!queue.IsEmpty()) { 167 while (!queue.IsEmpty()) {
167 Tile* tile = queue.Top(); 168 Tile* tile = queue.Top();
168 EXPECT_TRUE(tile); 169 EXPECT_TRUE(tile);
169 EXPECT_EQ(TilePriority::NOW, tile->priority(ACTIVE_TREE).priority_bin); 170 EXPECT_EQ(TilePriority::NOW, tile->priority(ACTIVE_TREE).priority_bin);
170 EXPECT_EQ(TilePriority::NOW, tile->priority(PENDING_TREE).priority_bin); 171 EXPECT_EQ(TilePriority::NOW, tile->priority(PENDING_TREE).priority_bin);
171 smoothness_tiles.insert(tile); 172 if (tile->priority(ACTIVE_TREE).resolution == LOW_RESOLUTION)
173 had_low_res = true;
174 else
175 smoothness_tiles.insert(tile);
172 queue.Pop(); 176 queue.Pop();
173 } 177 }
174 EXPECT_EQ(all_tiles, smoothness_tiles); 178 EXPECT_EQ(all_tiles, smoothness_tiles);
179 EXPECT_TRUE(had_low_res);
175 180
176 Region invalidation(gfx::Rect(0, 0, 500, 500)); 181 Region invalidation(gfx::Rect(0, 0, 500, 500));
177 182
178 // Invalidate the pending tree. 183 // Invalidate the pending tree.
179 pending_layer_->set_invalidation(invalidation); 184 pending_layer_->set_invalidation(invalidation);
180 pending_layer_->HighResTiling()->UpdateTilesToCurrentPile( 185 pending_layer_->HighResTiling()->UpdateTilesToCurrentPile(
181 invalidation, gfx::Size(1000, 1000)); 186 invalidation, gfx::Size(1000, 1000));
182 pending_layer_->LowResTiling()->UpdateTilesToCurrentPile( 187 pending_layer_->LowResTiling()->UpdateTilesToCurrentPile(
183 invalidation, gfx::Size(1000, 1000)); 188 invalidation, gfx::Size(1000, 1000));
184 189
185 active_layer_->ResetAllTilesPriorities(); 190 active_layer_->ResetAllTilesPriorities();
186 pending_layer_->ResetAllTilesPriorities(); 191 pending_layer_->ResetAllTilesPriorities();
187 192
188 // Renew all of the tile priorities. 193 // Renew all of the tile priorities.
189 gfx::Rect viewport(50, 50, 100, 100); 194 gfx::Rect viewport(50, 50, 100, 100);
190 pending_layer_->HighResTiling()->ComputeTilePriorityRects( 195 pending_layer_->HighResTiling()->ComputeTilePriorityRects(
191 PENDING_TREE, viewport, 1.0f, 1.0, Occlusion()); 196 PENDING_TREE, viewport, 1.0f, 1.0, Occlusion());
192 pending_layer_->LowResTiling()->ComputeTilePriorityRects( 197 pending_layer_->LowResTiling()->ComputeTilePriorityRects(
193 PENDING_TREE, viewport, 1.0f, 1.0, Occlusion()); 198 PENDING_TREE, viewport, 1.0f, 1.0, Occlusion());
194 active_layer_->HighResTiling()->ComputeTilePriorityRects( 199 active_layer_->HighResTiling()->ComputeTilePriorityRects(
195 ACTIVE_TREE, viewport, 1.0f, 1.0, Occlusion()); 200 ACTIVE_TREE, viewport, 1.0f, 1.0, Occlusion());
196 active_layer_->LowResTiling()->ComputeTilePriorityRects( 201 active_layer_->LowResTiling()->ComputeTilePriorityRects(
197 ACTIVE_TREE, viewport, 1.0f, 1.0, Occlusion()); 202 ACTIVE_TREE, viewport, 1.0f, 1.0, Occlusion());
198 203
199 // Populate all tiles directly from the tilings. 204 // Populate all tiles directly from the tilings.
200 all_tiles.clear(); 205 all_tiles.clear();
206 std::set<Tile*> high_res_tiles;
201 std::vector<Tile*> pending_high_res_tiles = 207 std::vector<Tile*> pending_high_res_tiles =
202 pending_layer_->HighResTiling()->AllTilesForTesting(); 208 pending_layer_->HighResTiling()->AllTilesForTesting();
203 for (size_t i = 0; i < pending_high_res_tiles.size(); ++i) 209 for (size_t i = 0; i < pending_high_res_tiles.size(); ++i) {
204 all_tiles.insert(pending_high_res_tiles[i]); 210 all_tiles.insert(pending_high_res_tiles[i]);
211 high_res_tiles.insert(pending_high_res_tiles[i]);
212 }
205 213
206 std::vector<Tile*> pending_low_res_tiles = 214 std::vector<Tile*> pending_low_res_tiles =
207 pending_layer_->LowResTiling()->AllTilesForTesting(); 215 pending_layer_->LowResTiling()->AllTilesForTesting();
208 for (size_t i = 0; i < pending_low_res_tiles.size(); ++i) 216 for (size_t i = 0; i < pending_low_res_tiles.size(); ++i)
209 all_tiles.insert(pending_low_res_tiles[i]); 217 all_tiles.insert(pending_low_res_tiles[i]);
210 218
211 std::vector<Tile*> active_high_res_tiles = 219 std::vector<Tile*> active_high_res_tiles =
212 active_layer_->HighResTiling()->AllTilesForTesting(); 220 active_layer_->HighResTiling()->AllTilesForTesting();
213 for (size_t i = 0; i < active_high_res_tiles.size(); ++i) 221 for (size_t i = 0; i < active_high_res_tiles.size(); ++i) {
214 all_tiles.insert(active_high_res_tiles[i]); 222 all_tiles.insert(active_high_res_tiles[i]);
223 high_res_tiles.insert(active_high_res_tiles[i]);
224 }
215 225
216 std::vector<Tile*> active_low_res_tiles = 226 std::vector<Tile*> active_low_res_tiles =
217 active_layer_->LowResTiling()->AllTilesForTesting(); 227 active_layer_->LowResTiling()->AllTilesForTesting();
218 for (size_t i = 0; i < active_low_res_tiles.size(); ++i) 228 for (size_t i = 0; i < active_low_res_tiles.size(); ++i)
219 all_tiles.insert(active_low_res_tiles[i]); 229 all_tiles.insert(active_low_res_tiles[i]);
220 230
221 Tile* last_tile = NULL; 231 Tile* last_tile = NULL;
222 smoothness_tiles.clear(); 232 smoothness_tiles.clear();
223 tile_count = 0; 233 tile_count = 0;
224 size_t correct_order_tiles = 0u; 234 size_t correct_order_tiles = 0u;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 // Since we don't guarantee increasing distance due to spiral iterator, we 278 // Since we don't guarantee increasing distance due to spiral iterator, we
269 // should check that we're _mostly_ right. 279 // should check that we're _mostly_ right.
270 EXPECT_GT(correct_order_tiles, 3 * tile_count / 4); 280 EXPECT_GT(correct_order_tiles, 3 * tile_count / 4);
271 281
272 std::set<Tile*> new_content_tiles; 282 std::set<Tile*> new_content_tiles;
273 last_tile = NULL; 283 last_tile = NULL;
274 size_t increasing_distance_tiles = 0u; 284 size_t increasing_distance_tiles = 0u;
275 // Here we expect to get increasing PENDING_TREE priority_bin. 285 // Here we expect to get increasing PENDING_TREE priority_bin.
276 queue.Reset(); 286 queue.Reset();
277 host_impl_.BuildRasterQueue(&queue, NEW_CONTENT_TAKES_PRIORITY); 287 host_impl_.BuildRasterQueue(&queue, NEW_CONTENT_TAKES_PRIORITY);
288 tile_count = 0;
278 while (!queue.IsEmpty()) { 289 while (!queue.IsEmpty()) {
279 Tile* tile = queue.Top(); 290 Tile* tile = queue.Top();
280 EXPECT_TRUE(tile); 291 EXPECT_TRUE(tile);
281 292
282 if (!last_tile) 293 if (!last_tile)
283 last_tile = tile; 294 last_tile = tile;
284 295
285 EXPECT_LE(last_tile->priority(PENDING_TREE).priority_bin, 296 EXPECT_LE(last_tile->priority(PENDING_TREE).priority_bin,
286 tile->priority(PENDING_TREE).priority_bin); 297 tile->priority(PENDING_TREE).priority_bin);
287 if (last_tile->priority(PENDING_TREE).priority_bin == 298 if (last_tile->priority(PENDING_TREE).priority_bin ==
288 tile->priority(PENDING_TREE).priority_bin) { 299 tile->priority(PENDING_TREE).priority_bin) {
289 increasing_distance_tiles += 300 increasing_distance_tiles +=
290 last_tile->priority(PENDING_TREE).distance_to_visible <= 301 last_tile->priority(PENDING_TREE).distance_to_visible <=
291 tile->priority(PENDING_TREE).distance_to_visible; 302 tile->priority(PENDING_TREE).distance_to_visible;
292 } 303 }
293 304
294 if (tile->priority(PENDING_TREE).priority_bin == TilePriority::NOW && 305 if (tile->priority(PENDING_TREE).priority_bin == TilePriority::NOW &&
295 last_tile->priority(PENDING_TREE).resolution != 306 last_tile->priority(PENDING_TREE).resolution !=
296 tile->priority(PENDING_TREE).resolution) { 307 tile->priority(PENDING_TREE).resolution) {
297 // High resolution should come first. 308 // High resolution should come first.
298 EXPECT_EQ(HIGH_RESOLUTION, last_tile->priority(PENDING_TREE).resolution); 309 EXPECT_EQ(HIGH_RESOLUTION, last_tile->priority(PENDING_TREE).resolution);
299 } 310 }
300 311
301 last_tile = tile; 312 last_tile = tile;
302 new_content_tiles.insert(tile); 313 new_content_tiles.insert(tile);
314 ++tile_count;
303 queue.Pop(); 315 queue.Pop();
304 } 316 }
305 317
306 EXPECT_EQ(tile_count, new_content_tiles.size()); 318 EXPECT_EQ(tile_count, new_content_tiles.size());
307 EXPECT_EQ(all_tiles, new_content_tiles); 319 EXPECT_EQ(high_res_tiles, new_content_tiles);
308 // Since we don't guarantee increasing distance due to spiral iterator, we 320 // Since we don't guarantee increasing distance due to spiral iterator, we
309 // should check that we're _mostly_ right. 321 // should check that we're _mostly_ right.
310 EXPECT_GT(increasing_distance_tiles, 3 * tile_count / 4); 322 EXPECT_GE(increasing_distance_tiles, 3 * tile_count / 4);
311 } 323 }
312 324
313 TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) { 325 TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
314 SetupDefaultTrees(gfx::Size(1000, 1000)); 326 SetupDefaultTrees(gfx::Size(1000, 1000));
315 327
316 active_layer_->CreateDefaultTilingsAndTiles(); 328 active_layer_->CreateDefaultTilingsAndTiles();
317 pending_layer_->CreateDefaultTilingsAndTiles(); 329 pending_layer_->CreateDefaultTilingsAndTiles();
318 330
319 EvictionTilePriorityQueue empty_queue; 331 EvictionTilePriorityQueue empty_queue;
320 host_impl_.BuildEvictionQueue(&empty_queue, SAME_PRIORITY_FOR_BOTH_TREES); 332 host_impl_.BuildEvictionQueue(&empty_queue, SAME_PRIORITY_FOR_BOTH_TREES);
321 EXPECT_TRUE(empty_queue.IsEmpty()); 333 EXPECT_TRUE(empty_queue.IsEmpty());
322 std::set<Tile*> all_tiles; 334 std::set<Tile*> all_tiles;
323 size_t tile_count = 0; 335 size_t tile_count = 0;
324 336
325 RasterTilePriorityQueue raster_queue; 337 RasterTilePriorityQueue raster_queue;
326 host_impl_.BuildRasterQueue(&raster_queue, SAME_PRIORITY_FOR_BOTH_TREES); 338 host_impl_.BuildRasterQueue(&raster_queue, SAME_PRIORITY_FOR_BOTH_TREES);
327 while (!raster_queue.IsEmpty()) { 339 while (!raster_queue.IsEmpty()) {
328 ++tile_count; 340 ++tile_count;
329 EXPECT_TRUE(raster_queue.Top()); 341 EXPECT_TRUE(raster_queue.Top());
330 all_tiles.insert(raster_queue.Top()); 342 all_tiles.insert(raster_queue.Top());
331 raster_queue.Pop(); 343 raster_queue.Pop();
332 } 344 }
333 345
334 EXPECT_EQ(tile_count, all_tiles.size()); 346 EXPECT_EQ(tile_count, all_tiles.size());
335 EXPECT_EQ(17u, tile_count); 347 EXPECT_EQ(16u, tile_count);
336 348
337 tile_manager()->InitializeTilesWithResourcesForTesting( 349 tile_manager()->InitializeTilesWithResourcesForTesting(
338 std::vector<Tile*>(all_tiles.begin(), all_tiles.end())); 350 std::vector<Tile*>(all_tiles.begin(), all_tiles.end()));
339 351
340 EvictionTilePriorityQueue queue; 352 EvictionTilePriorityQueue queue;
341 host_impl_.BuildEvictionQueue(&queue, SMOOTHNESS_TAKES_PRIORITY); 353 host_impl_.BuildEvictionQueue(&queue, SMOOTHNESS_TAKES_PRIORITY);
342 EXPECT_FALSE(queue.IsEmpty()); 354 EXPECT_FALSE(queue.IsEmpty());
343 355
344 // Sanity check, all tiles should be visible. 356 // Sanity check, all tiles should be visible.
345 std::set<Tile*> smoothness_tiles; 357 std::set<Tile*> smoothness_tiles;
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 size_t tile_count = 0; 512 size_t tile_count = 0;
501 RasterTilePriorityQueue raster_queue; 513 RasterTilePriorityQueue raster_queue;
502 host_impl_.BuildRasterQueue(&raster_queue, SAME_PRIORITY_FOR_BOTH_TREES); 514 host_impl_.BuildRasterQueue(&raster_queue, SAME_PRIORITY_FOR_BOTH_TREES);
503 while (!raster_queue.IsEmpty()) { 515 while (!raster_queue.IsEmpty()) {
504 ++tile_count; 516 ++tile_count;
505 EXPECT_TRUE(raster_queue.Top()); 517 EXPECT_TRUE(raster_queue.Top());
506 all_tiles.insert(raster_queue.Top()); 518 all_tiles.insert(raster_queue.Top());
507 raster_queue.Pop(); 519 raster_queue.Pop();
508 } 520 }
509 EXPECT_EQ(tile_count, all_tiles.size()); 521 EXPECT_EQ(tile_count, all_tiles.size());
510 EXPECT_EQ(34u, tile_count); 522 EXPECT_EQ(32u, tile_count);
511 523
512 pending_layer_->ResetAllTilesPriorities(); 524 pending_layer_->ResetAllTilesPriorities();
513 525
514 // Renew all of the tile priorities. 526 // Renew all of the tile priorities.
515 gfx::Rect viewport(layer_bounds); 527 gfx::Rect viewport(layer_bounds);
516 pending_layer_->HighResTiling()->ComputeTilePriorityRects( 528 pending_layer_->HighResTiling()->ComputeTilePriorityRects(
517 PENDING_TREE, viewport, 1.0f, 1.0, Occlusion()); 529 PENDING_TREE, viewport, 1.0f, 1.0, Occlusion());
518 pending_layer_->LowResTiling()->ComputeTilePriorityRects( 530 pending_layer_->LowResTiling()->ComputeTilePriorityRects(
519 PENDING_TREE, viewport, 1.0f, 1.0, Occlusion()); 531 PENDING_TREE, viewport, 1.0f, 1.0, Occlusion());
520 pending_child_layer->HighResTiling()->ComputeTilePriorityRects( 532 pending_child_layer->HighResTiling()->ComputeTilePriorityRects(
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 size_t tile_count = 0; 614 size_t tile_count = 0;
603 std::set<Tile*> all_tiles; 615 std::set<Tile*> all_tiles;
604 while (!queue.IsEmpty()) { 616 while (!queue.IsEmpty()) {
605 EXPECT_TRUE(queue.Top()); 617 EXPECT_TRUE(queue.Top());
606 all_tiles.insert(queue.Top()); 618 all_tiles.insert(queue.Top());
607 ++tile_count; 619 ++tile_count;
608 queue.Pop(); 620 queue.Pop();
609 } 621 }
610 622
611 EXPECT_EQ(tile_count, all_tiles.size()); 623 EXPECT_EQ(tile_count, all_tiles.size());
612 EXPECT_EQ(17u, tile_count); 624 EXPECT_EQ(16u, tile_count);
613 625
614 queue.Reset(); 626 queue.Reset();
615 for (int i = 1; i < 10; ++i) { 627 for (int i = 1; i < 10; ++i) {
616 scoped_ptr<FakePictureLayerImpl> pending_layer = 628 scoped_ptr<FakePictureLayerImpl> pending_layer =
617 FakePictureLayerImpl::Create(host_impl_.pending_tree(), id_ + i); 629 FakePictureLayerImpl::Create(host_impl_.pending_tree(), id_ + i);
618 pending_layer->SetDrawsContent(true); 630 pending_layer->SetDrawsContent(true);
619 pending_layer->DoPostCommitInitializationIfNeeded(); 631 pending_layer->DoPostCommitInitializationIfNeeded();
620 pending_layer->set_has_valid_tile_priorities(true); 632 pending_layer->set_has_valid_tile_priorities(true);
621 pending_layer_->AddChild(pending_layer.Pass()); 633 pending_layer_->AddChild(pending_layer.Pass());
622 } 634 }
623 635
624 host_impl_.BuildRasterQueue(&queue, SAME_PRIORITY_FOR_BOTH_TREES); 636 host_impl_.BuildRasterQueue(&queue, SAME_PRIORITY_FOR_BOTH_TREES);
625 EXPECT_FALSE(queue.IsEmpty()); 637 EXPECT_FALSE(queue.IsEmpty());
626 638
627 tile_count = 0; 639 tile_count = 0;
628 all_tiles.clear(); 640 all_tiles.clear();
629 while (!queue.IsEmpty()) { 641 while (!queue.IsEmpty()) {
630 EXPECT_TRUE(queue.Top()); 642 EXPECT_TRUE(queue.Top());
631 all_tiles.insert(queue.Top()); 643 all_tiles.insert(queue.Top());
632 ++tile_count; 644 ++tile_count;
633 queue.Pop(); 645 queue.Pop();
634 } 646 }
635 EXPECT_EQ(tile_count, all_tiles.size()); 647 EXPECT_EQ(tile_count, all_tiles.size());
636 EXPECT_EQ(17u, tile_count); 648 EXPECT_EQ(16u, tile_count);
637 } 649 }
638 650
639 TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueueEmptyLayers) { 651 TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueueEmptyLayers) {
640 SetupDefaultTrees(gfx::Size(1000, 1000)); 652 SetupDefaultTrees(gfx::Size(1000, 1000));
641 653
642 active_layer_->CreateDefaultTilingsAndTiles(); 654 active_layer_->CreateDefaultTilingsAndTiles();
643 pending_layer_->CreateDefaultTilingsAndTiles(); 655 pending_layer_->CreateDefaultTilingsAndTiles();
644 656
645 RasterTilePriorityQueue raster_queue; 657 RasterTilePriorityQueue raster_queue;
646 host_impl_.BuildRasterQueue(&raster_queue, SAME_PRIORITY_FOR_BOTH_TREES); 658 host_impl_.BuildRasterQueue(&raster_queue, SAME_PRIORITY_FOR_BOTH_TREES);
647 EXPECT_FALSE(raster_queue.IsEmpty()); 659 EXPECT_FALSE(raster_queue.IsEmpty());
648 660
649 size_t tile_count = 0; 661 size_t tile_count = 0;
650 std::set<Tile*> all_tiles; 662 std::set<Tile*> all_tiles;
651 while (!raster_queue.IsEmpty()) { 663 while (!raster_queue.IsEmpty()) {
652 EXPECT_TRUE(raster_queue.Top()); 664 EXPECT_TRUE(raster_queue.Top());
653 all_tiles.insert(raster_queue.Top()); 665 all_tiles.insert(raster_queue.Top());
654 ++tile_count; 666 ++tile_count;
655 raster_queue.Pop(); 667 raster_queue.Pop();
656 } 668 }
657 EXPECT_EQ(tile_count, all_tiles.size()); 669 EXPECT_EQ(tile_count, all_tiles.size());
658 EXPECT_EQ(17u, tile_count); 670 EXPECT_EQ(16u, tile_count);
659 671
660 std::vector<Tile*> tiles(all_tiles.begin(), all_tiles.end()); 672 std::vector<Tile*> tiles(all_tiles.begin(), all_tiles.end());
661 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(tiles); 673 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(tiles);
662 674
663 EvictionTilePriorityQueue queue; 675 EvictionTilePriorityQueue queue;
664 for (int i = 1; i < 10; ++i) { 676 for (int i = 1; i < 10; ++i) {
665 scoped_ptr<FakePictureLayerImpl> pending_layer = 677 scoped_ptr<FakePictureLayerImpl> pending_layer =
666 FakePictureLayerImpl::Create(host_impl_.pending_tree(), id_ + i); 678 FakePictureLayerImpl::Create(host_impl_.pending_tree(), id_ + i);
667 pending_layer->SetDrawsContent(true); 679 pending_layer->SetDrawsContent(true);
668 pending_layer->DoPostCommitInitializationIfNeeded(); 680 pending_layer->DoPostCommitInitializationIfNeeded();
669 pending_layer->set_has_valid_tile_priorities(true); 681 pending_layer->set_has_valid_tile_priorities(true);
670 pending_layer_->AddChild(pending_layer.Pass()); 682 pending_layer_->AddChild(pending_layer.Pass());
671 } 683 }
672 684
673 host_impl_.BuildEvictionQueue(&queue, SAME_PRIORITY_FOR_BOTH_TREES); 685 host_impl_.BuildEvictionQueue(&queue, SAME_PRIORITY_FOR_BOTH_TREES);
674 EXPECT_FALSE(queue.IsEmpty()); 686 EXPECT_FALSE(queue.IsEmpty());
675 687
676 tile_count = 0; 688 tile_count = 0;
677 all_tiles.clear(); 689 all_tiles.clear();
678 while (!queue.IsEmpty()) { 690 while (!queue.IsEmpty()) {
679 EXPECT_TRUE(queue.Top()); 691 EXPECT_TRUE(queue.Top());
680 all_tiles.insert(queue.Top()); 692 all_tiles.insert(queue.Top());
681 ++tile_count; 693 ++tile_count;
682 queue.Pop(); 694 queue.Pop();
683 } 695 }
684 EXPECT_EQ(tile_count, all_tiles.size()); 696 EXPECT_EQ(tile_count, all_tiles.size());
685 EXPECT_EQ(17u, tile_count); 697 EXPECT_EQ(16u, tile_count);
686 } 698 }
687 699
688 } // namespace 700 } // namespace
689 } // namespace cc 701 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/scoped_resource_unittest.cc ('k') | cc/resources/video_resource_updater_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698