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

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

Issue 502203003: Remove implicit conversions from scoped_refptr to T* in cc/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Change to use .get() instead of rewriting local variable Created 6 years, 3 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
« no previous file with comments | « cc/resources/picture_unittest.cc ('k') | cc/resources/raster_worker_pool_unittest.cc » ('j') | 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 <algorithm> 5 #include <algorithm>
6 #include <vector> 6 #include <vector>
7 7
8 #include "cc/resources/managed_tile_state.h" 8 #include "cc/resources/managed_tile_state.h"
9 #include "cc/resources/prioritized_tile_set.h" 9 #include "cc/resources/prioritized_tile_set.h"
10 #include "cc/resources/tile.h" 10 #include "cc/resources/tile.h"
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 gfx::Rect(), 74 gfx::Rect(),
75 1.0, 75 1.0,
76 0, 76 0,
77 0, 77 0,
78 0); 78 0);
79 } 79 }
80 void ReleaseTiles(std::vector<scoped_refptr<Tile> >* tiles) { 80 void ReleaseTiles(std::vector<scoped_refptr<Tile> >* tiles) {
81 for (std::vector<scoped_refptr<Tile> >::iterator it = tiles->begin(); 81 for (std::vector<scoped_refptr<Tile> >::iterator it = tiles->begin();
82 it != tiles->end(); 82 it != tiles->end();
83 it++) { 83 it++) {
84 Tile* tile = *it; 84 Tile* tile = it->get();
85 tile->SetPriority(ACTIVE_TREE, TilePriority()); 85 tile->SetPriority(ACTIVE_TREE, TilePriority());
86 tile->SetPriority(PENDING_TREE, TilePriority()); 86 tile->SetPriority(PENDING_TREE, TilePriority());
87 } 87 }
88 } 88 }
89 89
90 private: 90 private:
91 LayerTreeSettings settings_; 91 LayerTreeSettings settings_;
92 FakeOutputSurfaceClient output_surface_client_; 92 FakeOutputSurfaceClient output_surface_client_;
93 scoped_ptr<FakeOutputSurface> output_surface_; 93 scoped_ptr<FakeOutputSurface> output_surface_;
94 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; 94 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
(...skipping 10 matching lines...) Expand all
105 105
106 PrioritizedTileSet set; 106 PrioritizedTileSet set;
107 107
108 PrioritizedTileSet::Iterator it(&set, true); 108 PrioritizedTileSet::Iterator it(&set, true);
109 EXPECT_FALSE(it); 109 EXPECT_FALSE(it);
110 } 110 }
111 111
112 TEST_F(PrioritizedTileSetTest, NonEmptyIterator) { 112 TEST_F(PrioritizedTileSetTest, NonEmptyIterator) {
113 PrioritizedTileSet set; 113 PrioritizedTileSet set;
114 scoped_refptr<Tile> tile = CreateTile(); 114 scoped_refptr<Tile> tile = CreateTile();
115 set.InsertTile(tile, NOW_BIN); 115 set.InsertTile(tile.get(), NOW_BIN);
116 116
117 PrioritizedTileSet::Iterator it(&set, true); 117 PrioritizedTileSet::Iterator it(&set, true);
118 EXPECT_TRUE(it); 118 EXPECT_TRUE(it);
119 EXPECT_TRUE(*it == tile.get()); 119 EXPECT_TRUE(*it == tile.get());
120 ++it; 120 ++it;
121 EXPECT_FALSE(it); 121 EXPECT_FALSE(it);
122 } 122 }
123 123
124 TEST_F(PrioritizedTileSetTest, NowAndReadyToDrawBin) { 124 TEST_F(PrioritizedTileSetTest, NowAndReadyToDrawBin) {
125 // Ensure that tiles in NOW_AND_READY_TO_DRAW_BIN aren't sorted. 125 // Ensure that tiles in NOW_AND_READY_TO_DRAW_BIN aren't sorted.
126 126
127 PrioritizedTileSet set; 127 PrioritizedTileSet set;
128 TilePriority priorities[4] = { 128 TilePriority priorities[4] = {
129 TilePriorityForEventualBin(), 129 TilePriorityForEventualBin(),
130 TilePriorityForNowBin(), 130 TilePriorityForNowBin(),
131 TilePriority(), 131 TilePriority(),
132 TilePriorityForSoonBin()}; 132 TilePriorityForSoonBin()};
133 133
134 std::vector<scoped_refptr<Tile> > tiles; 134 std::vector<scoped_refptr<Tile> > tiles;
135 for (int priority = 0; priority < 4; ++priority) { 135 for (int priority = 0; priority < 4; ++priority) {
136 for (int i = 0; i < 5; ++i) { 136 for (int i = 0; i < 5; ++i) {
137 scoped_refptr<Tile> tile = CreateTile(); 137 scoped_refptr<Tile> tile = CreateTile();
138 tile->SetPriority(ACTIVE_TREE, priorities[priority]); 138 tile->SetPriority(ACTIVE_TREE, priorities[priority]);
139 tile->SetPriority(PENDING_TREE, priorities[priority]); 139 tile->SetPriority(PENDING_TREE, priorities[priority]);
140 tiles.push_back(tile); 140 tiles.push_back(tile);
141 set.InsertTile(tile, NOW_AND_READY_TO_DRAW_BIN); 141 set.InsertTile(tile.get(), NOW_AND_READY_TO_DRAW_BIN);
142 } 142 }
143 } 143 }
144 144
145 // Tiles should appear in the same order as inserted. 145 // Tiles should appear in the same order as inserted.
146 int i = 0; 146 int i = 0;
147 for (PrioritizedTileSet::Iterator it(&set, true); 147 for (PrioritizedTileSet::Iterator it(&set, true);
148 it; 148 it;
149 ++it) { 149 ++it) {
150 EXPECT_TRUE(*it == tiles[i].get()); 150 EXPECT_TRUE(*it == tiles[i].get());
151 ++i; 151 ++i;
(...skipping 13 matching lines...) Expand all
165 TilePriority(), 165 TilePriority(),
166 TilePriorityForSoonBin()}; 166 TilePriorityForSoonBin()};
167 167
168 std::vector<scoped_refptr<Tile> > tiles; 168 std::vector<scoped_refptr<Tile> > tiles;
169 for (int priority = 0; priority < 4; ++priority) { 169 for (int priority = 0; priority < 4; ++priority) {
170 for (int i = 0; i < 5; ++i) { 170 for (int i = 0; i < 5; ++i) {
171 scoped_refptr<Tile> tile = CreateTile(); 171 scoped_refptr<Tile> tile = CreateTile();
172 tile->SetPriority(ACTIVE_TREE, priorities[priority]); 172 tile->SetPriority(ACTIVE_TREE, priorities[priority]);
173 tile->SetPriority(PENDING_TREE, priorities[priority]); 173 tile->SetPriority(PENDING_TREE, priorities[priority]);
174 tiles.push_back(tile); 174 tiles.push_back(tile);
175 set.InsertTile(tile, NOW_BIN); 175 set.InsertTile(tile.get(), NOW_BIN);
176 } 176 }
177 } 177 }
178 178
179 // Tiles should appear in BinComparator order. 179 // Tiles should appear in BinComparator order.
180 std::sort(tiles.begin(), tiles.end(), BinComparator()); 180 std::sort(tiles.begin(), tiles.end(), BinComparator());
181 181
182 int i = 0; 182 int i = 0;
183 for (PrioritizedTileSet::Iterator it(&set, true); 183 for (PrioritizedTileSet::Iterator it(&set, true);
184 it; 184 it;
185 ++it) { 185 ++it) {
(...skipping 15 matching lines...) Expand all
201 TilePriority(), 201 TilePriority(),
202 TilePriorityForSoonBin()}; 202 TilePriorityForSoonBin()};
203 203
204 std::vector<scoped_refptr<Tile> > tiles; 204 std::vector<scoped_refptr<Tile> > tiles;
205 for (int priority = 0; priority < 4; ++priority) { 205 for (int priority = 0; priority < 4; ++priority) {
206 for (int i = 0; i < 5; ++i) { 206 for (int i = 0; i < 5; ++i) {
207 scoped_refptr<Tile> tile = CreateTile(); 207 scoped_refptr<Tile> tile = CreateTile();
208 tile->SetPriority(ACTIVE_TREE, priorities[priority]); 208 tile->SetPriority(ACTIVE_TREE, priorities[priority]);
209 tile->SetPriority(PENDING_TREE, priorities[priority]); 209 tile->SetPriority(PENDING_TREE, priorities[priority]);
210 tiles.push_back(tile); 210 tiles.push_back(tile);
211 set.InsertTile(tile, SOON_BIN); 211 set.InsertTile(tile.get(), SOON_BIN);
212 } 212 }
213 } 213 }
214 214
215 // Tiles should appear in BinComparator order. 215 // Tiles should appear in BinComparator order.
216 std::sort(tiles.begin(), tiles.end(), BinComparator()); 216 std::sort(tiles.begin(), tiles.end(), BinComparator());
217 217
218 int i = 0; 218 int i = 0;
219 for (PrioritizedTileSet::Iterator it(&set, true); 219 for (PrioritizedTileSet::Iterator it(&set, true);
220 it; 220 it;
221 ++it) { 221 ++it) {
(...skipping 16 matching lines...) Expand all
238 TilePriority(), 238 TilePriority(),
239 TilePriorityForSoonBin()}; 239 TilePriorityForSoonBin()};
240 240
241 std::vector<scoped_refptr<Tile> > tiles; 241 std::vector<scoped_refptr<Tile> > tiles;
242 for (int priority = 0; priority < 4; ++priority) { 242 for (int priority = 0; priority < 4; ++priority) {
243 for (int i = 0; i < 5; ++i) { 243 for (int i = 0; i < 5; ++i) {
244 scoped_refptr<Tile> tile = CreateTile(); 244 scoped_refptr<Tile> tile = CreateTile();
245 tile->SetPriority(ACTIVE_TREE, priorities[priority]); 245 tile->SetPriority(ACTIVE_TREE, priorities[priority]);
246 tile->SetPriority(PENDING_TREE, priorities[priority]); 246 tile->SetPriority(PENDING_TREE, priorities[priority]);
247 tiles.push_back(tile); 247 tiles.push_back(tile);
248 set.InsertTile(tile, SOON_BIN); 248 set.InsertTile(tile.get(), SOON_BIN);
249 } 249 }
250 } 250 }
251 251
252 int i = 0; 252 int i = 0;
253 for (PrioritizedTileSet::Iterator it(&set, false); 253 for (PrioritizedTileSet::Iterator it(&set, false);
254 it; 254 it;
255 ++it) { 255 ++it) {
256 EXPECT_TRUE(*it == tiles[i].get()); 256 EXPECT_TRUE(*it == tiles[i].get());
257 ++i; 257 ++i;
258 } 258 }
(...skipping 12 matching lines...) Expand all
271 TilePriority(), 271 TilePriority(),
272 TilePriorityForSoonBin()}; 272 TilePriorityForSoonBin()};
273 273
274 std::vector<scoped_refptr<Tile> > tiles; 274 std::vector<scoped_refptr<Tile> > tiles;
275 for (int priority = 0; priority < 4; ++priority) { 275 for (int priority = 0; priority < 4; ++priority) {
276 for (int i = 0; i < 5; ++i) { 276 for (int i = 0; i < 5; ++i) {
277 scoped_refptr<Tile> tile = CreateTile(); 277 scoped_refptr<Tile> tile = CreateTile();
278 tile->SetPriority(ACTIVE_TREE, priorities[priority]); 278 tile->SetPriority(ACTIVE_TREE, priorities[priority]);
279 tile->SetPriority(PENDING_TREE, priorities[priority]); 279 tile->SetPriority(PENDING_TREE, priorities[priority]);
280 tiles.push_back(tile); 280 tiles.push_back(tile);
281 set.InsertTile(tile, EVENTUALLY_AND_ACTIVE_BIN); 281 set.InsertTile(tile.get(), EVENTUALLY_AND_ACTIVE_BIN);
282 } 282 }
283 } 283 }
284 284
285 // Tiles should appear in BinComparator order. 285 // Tiles should appear in BinComparator order.
286 std::sort(tiles.begin(), tiles.end(), BinComparator()); 286 std::sort(tiles.begin(), tiles.end(), BinComparator());
287 287
288 int i = 0; 288 int i = 0;
289 for (PrioritizedTileSet::Iterator it(&set, true); 289 for (PrioritizedTileSet::Iterator it(&set, true);
290 it; 290 it;
291 ++it) { 291 ++it) {
(...skipping 15 matching lines...) Expand all
307 TilePriority(), 307 TilePriority(),
308 TilePriorityForSoonBin()}; 308 TilePriorityForSoonBin()};
309 309
310 std::vector<scoped_refptr<Tile> > tiles; 310 std::vector<scoped_refptr<Tile> > tiles;
311 for (int priority = 0; priority < 4; ++priority) { 311 for (int priority = 0; priority < 4; ++priority) {
312 for (int i = 0; i < 5; ++i) { 312 for (int i = 0; i < 5; ++i) {
313 scoped_refptr<Tile> tile = CreateTile(); 313 scoped_refptr<Tile> tile = CreateTile();
314 tile->SetPriority(ACTIVE_TREE, priorities[priority]); 314 tile->SetPriority(ACTIVE_TREE, priorities[priority]);
315 tile->SetPriority(PENDING_TREE, priorities[priority]); 315 tile->SetPriority(PENDING_TREE, priorities[priority]);
316 tiles.push_back(tile); 316 tiles.push_back(tile);
317 set.InsertTile(tile, EVENTUALLY_BIN); 317 set.InsertTile(tile.get(), EVENTUALLY_BIN);
318 } 318 }
319 } 319 }
320 320
321 // Tiles should appear in BinComparator order. 321 // Tiles should appear in BinComparator order.
322 std::sort(tiles.begin(), tiles.end(), BinComparator()); 322 std::sort(tiles.begin(), tiles.end(), BinComparator());
323 323
324 int i = 0; 324 int i = 0;
325 for (PrioritizedTileSet::Iterator it(&set, true); 325 for (PrioritizedTileSet::Iterator it(&set, true);
326 it; 326 it;
327 ++it) { 327 ++it) {
(...skipping 15 matching lines...) Expand all
343 TilePriority(), 343 TilePriority(),
344 TilePriorityForSoonBin()}; 344 TilePriorityForSoonBin()};
345 345
346 std::vector<scoped_refptr<Tile> > tiles; 346 std::vector<scoped_refptr<Tile> > tiles;
347 for (int priority = 0; priority < 4; ++priority) { 347 for (int priority = 0; priority < 4; ++priority) {
348 for (int i = 0; i < 5; ++i) { 348 for (int i = 0; i < 5; ++i) {
349 scoped_refptr<Tile> tile = CreateTile(); 349 scoped_refptr<Tile> tile = CreateTile();
350 tile->SetPriority(ACTIVE_TREE, priorities[priority]); 350 tile->SetPriority(ACTIVE_TREE, priorities[priority]);
351 tile->SetPriority(PENDING_TREE, priorities[priority]); 351 tile->SetPriority(PENDING_TREE, priorities[priority]);
352 tiles.push_back(tile); 352 tiles.push_back(tile);
353 set.InsertTile(tile, AT_LAST_AND_ACTIVE_BIN); 353 set.InsertTile(tile.get(), AT_LAST_AND_ACTIVE_BIN);
354 } 354 }
355 } 355 }
356 356
357 // Tiles should appear in BinComparator order. 357 // Tiles should appear in BinComparator order.
358 std::sort(tiles.begin(), tiles.end(), BinComparator()); 358 std::sort(tiles.begin(), tiles.end(), BinComparator());
359 359
360 int i = 0; 360 int i = 0;
361 for (PrioritizedTileSet::Iterator it(&set, true); 361 for (PrioritizedTileSet::Iterator it(&set, true);
362 it; 362 it;
363 ++it) { 363 ++it) {
(...skipping 15 matching lines...) Expand all
379 TilePriority(), 379 TilePriority(),
380 TilePriorityForSoonBin()}; 380 TilePriorityForSoonBin()};
381 381
382 std::vector<scoped_refptr<Tile> > tiles; 382 std::vector<scoped_refptr<Tile> > tiles;
383 for (int priority = 0; priority < 4; ++priority) { 383 for (int priority = 0; priority < 4; ++priority) {
384 for (int i = 0; i < 5; ++i) { 384 for (int i = 0; i < 5; ++i) {
385 scoped_refptr<Tile> tile = CreateTile(); 385 scoped_refptr<Tile> tile = CreateTile();
386 tile->SetPriority(ACTIVE_TREE, priorities[priority]); 386 tile->SetPriority(ACTIVE_TREE, priorities[priority]);
387 tile->SetPriority(PENDING_TREE, priorities[priority]); 387 tile->SetPriority(PENDING_TREE, priorities[priority]);
388 tiles.push_back(tile); 388 tiles.push_back(tile);
389 set.InsertTile(tile, AT_LAST_BIN); 389 set.InsertTile(tile.get(), AT_LAST_BIN);
390 } 390 }
391 } 391 }
392 392
393 // Tiles should appear in BinComparator order. 393 // Tiles should appear in BinComparator order.
394 std::sort(tiles.begin(), tiles.end(), BinComparator()); 394 std::sort(tiles.begin(), tiles.end(), BinComparator());
395 395
396 int i = 0; 396 int i = 0;
397 for (PrioritizedTileSet::Iterator it(&set, true); 397 for (PrioritizedTileSet::Iterator it(&set, true);
398 it; 398 it;
399 ++it) { 399 ++it) {
(...skipping 11 matching lines...) Expand all
411 411
412 scoped_refptr<Tile> now_and_ready_to_draw_bin = CreateTile(); 412 scoped_refptr<Tile> now_and_ready_to_draw_bin = CreateTile();
413 scoped_refptr<Tile> now_bin = CreateTile(); 413 scoped_refptr<Tile> now_bin = CreateTile();
414 scoped_refptr<Tile> soon_bin = CreateTile(); 414 scoped_refptr<Tile> soon_bin = CreateTile();
415 scoped_refptr<Tile> eventually_and_active_bin = CreateTile(); 415 scoped_refptr<Tile> eventually_and_active_bin = CreateTile();
416 scoped_refptr<Tile> eventually_bin = CreateTile(); 416 scoped_refptr<Tile> eventually_bin = CreateTile();
417 scoped_refptr<Tile> at_last_bin = CreateTile(); 417 scoped_refptr<Tile> at_last_bin = CreateTile();
418 scoped_refptr<Tile> at_last_and_active_bin = CreateTile(); 418 scoped_refptr<Tile> at_last_and_active_bin = CreateTile();
419 419
420 PrioritizedTileSet set; 420 PrioritizedTileSet set;
421 set.InsertTile(soon_bin, SOON_BIN); 421 set.InsertTile(soon_bin.get(), SOON_BIN);
422 set.InsertTile(at_last_and_active_bin, AT_LAST_AND_ACTIVE_BIN); 422 set.InsertTile(at_last_and_active_bin.get(), AT_LAST_AND_ACTIVE_BIN);
423 set.InsertTile(eventually_bin, EVENTUALLY_BIN); 423 set.InsertTile(eventually_bin.get(), EVENTUALLY_BIN);
424 set.InsertTile(now_bin, NOW_BIN); 424 set.InsertTile(now_bin.get(), NOW_BIN);
425 set.InsertTile(eventually_and_active_bin, EVENTUALLY_AND_ACTIVE_BIN); 425 set.InsertTile(eventually_and_active_bin.get(), EVENTUALLY_AND_ACTIVE_BIN);
426 set.InsertTile(at_last_bin, AT_LAST_BIN); 426 set.InsertTile(at_last_bin.get(), AT_LAST_BIN);
427 set.InsertTile(now_and_ready_to_draw_bin, NOW_AND_READY_TO_DRAW_BIN); 427 set.InsertTile(now_and_ready_to_draw_bin.get(), NOW_AND_READY_TO_DRAW_BIN);
428 428
429 // Tiles should appear in order. 429 // Tiles should appear in order.
430 PrioritizedTileSet::Iterator it(&set, true); 430 PrioritizedTileSet::Iterator it(&set, true);
431 EXPECT_TRUE(*it == now_and_ready_to_draw_bin.get()); 431 EXPECT_TRUE(*it == now_and_ready_to_draw_bin.get());
432 ++it; 432 ++it;
433 EXPECT_TRUE(*it == now_bin.get()); 433 EXPECT_TRUE(*it == now_bin.get());
434 ++it; 434 ++it;
435 EXPECT_TRUE(*it == soon_bin.get()); 435 EXPECT_TRUE(*it == soon_bin.get());
436 ++it; 436 ++it;
437 EXPECT_TRUE(*it == eventually_and_active_bin.get()); 437 EXPECT_TRUE(*it == eventually_and_active_bin.get());
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 tile->SetPriority(PENDING_TREE, priorities[priority]); 471 tile->SetPriority(PENDING_TREE, priorities[priority]);
472 472
473 now_and_ready_to_draw_bins.push_back(tile); 473 now_and_ready_to_draw_bins.push_back(tile);
474 now_bins.push_back(tile); 474 now_bins.push_back(tile);
475 soon_bins.push_back(tile); 475 soon_bins.push_back(tile);
476 eventually_and_active_bins.push_back(tile); 476 eventually_and_active_bins.push_back(tile);
477 eventually_bins.push_back(tile); 477 eventually_bins.push_back(tile);
478 at_last_bins.push_back(tile); 478 at_last_bins.push_back(tile);
479 at_last_and_active_bins.push_back(tile); 479 at_last_and_active_bins.push_back(tile);
480 480
481 set.InsertTile(tile, NOW_AND_READY_TO_DRAW_BIN); 481 set.InsertTile(tile.get(), NOW_AND_READY_TO_DRAW_BIN);
482 set.InsertTile(tile, NOW_BIN); 482 set.InsertTile(tile.get(), NOW_BIN);
483 set.InsertTile(tile, SOON_BIN); 483 set.InsertTile(tile.get(), SOON_BIN);
484 set.InsertTile(tile, EVENTUALLY_AND_ACTIVE_BIN); 484 set.InsertTile(tile.get(), EVENTUALLY_AND_ACTIVE_BIN);
485 set.InsertTile(tile, EVENTUALLY_BIN); 485 set.InsertTile(tile.get(), EVENTUALLY_BIN);
486 set.InsertTile(tile, AT_LAST_BIN); 486 set.InsertTile(tile.get(), AT_LAST_BIN);
487 set.InsertTile(tile, AT_LAST_AND_ACTIVE_BIN); 487 set.InsertTile(tile.get(), AT_LAST_AND_ACTIVE_BIN);
488 } 488 }
489 } 489 }
490 490
491 PrioritizedTileSet::Iterator it(&set, true); 491 PrioritizedTileSet::Iterator it(&set, true);
492 std::vector<scoped_refptr<Tile> >::iterator vector_it; 492 std::vector<scoped_refptr<Tile> >::iterator vector_it;
493 493
494 // Now and ready are not sorted. 494 // Now and ready are not sorted.
495 for (vector_it = now_and_ready_to_draw_bins.begin(); 495 for (vector_it = now_and_ready_to_draw_bins.begin();
496 vector_it != now_and_ready_to_draw_bins.end(); 496 vector_it != now_and_ready_to_draw_bins.end();
497 ++vector_it) { 497 ++vector_it) {
498 EXPECT_TRUE(*vector_it == *it); 498 EXPECT_TRUE(vector_it->get() == *it);
499 ++it; 499 ++it;
500 } 500 }
501 501
502 // Now bins are sorted. 502 // Now bins are sorted.
503 std::sort(now_bins.begin(), now_bins.end(), BinComparator()); 503 std::sort(now_bins.begin(), now_bins.end(), BinComparator());
504 for (vector_it = now_bins.begin(); vector_it != now_bins.end(); ++vector_it) { 504 for (vector_it = now_bins.begin(); vector_it != now_bins.end(); ++vector_it) {
505 EXPECT_TRUE(*vector_it == *it); 505 EXPECT_TRUE(vector_it->get() == *it);
506 ++it; 506 ++it;
507 } 507 }
508 508
509 // Soon bins are sorted. 509 // Soon bins are sorted.
510 std::sort(soon_bins.begin(), soon_bins.end(), BinComparator()); 510 std::sort(soon_bins.begin(), soon_bins.end(), BinComparator());
511 for (vector_it = soon_bins.begin(); vector_it != soon_bins.end(); 511 for (vector_it = soon_bins.begin(); vector_it != soon_bins.end();
512 ++vector_it) { 512 ++vector_it) {
513 EXPECT_TRUE(*vector_it == *it); 513 EXPECT_TRUE(vector_it->get() == *it);
514 ++it; 514 ++it;
515 } 515 }
516 516
517 // Eventually and active bins are sorted. 517 // Eventually and active bins are sorted.
518 std::sort(eventually_and_active_bins.begin(), 518 std::sort(eventually_and_active_bins.begin(),
519 eventually_and_active_bins.end(), 519 eventually_and_active_bins.end(),
520 BinComparator()); 520 BinComparator());
521 for (vector_it = eventually_and_active_bins.begin(); 521 for (vector_it = eventually_and_active_bins.begin();
522 vector_it != eventually_and_active_bins.end(); 522 vector_it != eventually_and_active_bins.end();
523 ++vector_it) { 523 ++vector_it) {
524 EXPECT_TRUE(*vector_it == *it); 524 EXPECT_TRUE(vector_it->get() == *it);
525 ++it; 525 ++it;
526 } 526 }
527 527
528 // Eventually bins are sorted. 528 // Eventually bins are sorted.
529 std::sort(eventually_bins.begin(), eventually_bins.end(), BinComparator()); 529 std::sort(eventually_bins.begin(), eventually_bins.end(), BinComparator());
530 for (vector_it = eventually_bins.begin(); vector_it != eventually_bins.end(); 530 for (vector_it = eventually_bins.begin(); vector_it != eventually_bins.end();
531 ++vector_it) { 531 ++vector_it) {
532 EXPECT_TRUE(*vector_it == *it); 532 EXPECT_TRUE(vector_it->get() == *it);
533 ++it; 533 ++it;
534 } 534 }
535 535
536 // At last and active bins are sorted. 536 // At last and active bins are sorted.
537 std::sort(at_last_and_active_bins.begin(), 537 std::sort(at_last_and_active_bins.begin(),
538 at_last_and_active_bins.end(), 538 at_last_and_active_bins.end(),
539 BinComparator()); 539 BinComparator());
540 for (vector_it = at_last_and_active_bins.begin(); 540 for (vector_it = at_last_and_active_bins.begin();
541 vector_it != at_last_and_active_bins.end(); 541 vector_it != at_last_and_active_bins.end();
542 ++vector_it) { 542 ++vector_it) {
543 EXPECT_TRUE(*vector_it == *it); 543 EXPECT_TRUE(vector_it->get() == *it);
544 ++it; 544 ++it;
545 } 545 }
546 546
547 // At last bins are sorted. 547 // At last bins are sorted.
548 std::sort(at_last_bins.begin(), at_last_bins.end(), BinComparator()); 548 std::sort(at_last_bins.begin(), at_last_bins.end(), BinComparator());
549 for (vector_it = at_last_bins.begin(); vector_it != at_last_bins.end(); 549 for (vector_it = at_last_bins.begin(); vector_it != at_last_bins.end();
550 ++vector_it) { 550 ++vector_it) {
551 EXPECT_TRUE(*vector_it == *it); 551 EXPECT_TRUE(vector_it->get() == *it);
552 ++it; 552 ++it;
553 } 553 }
554 554
555 EXPECT_FALSE(it); 555 EXPECT_FALSE(it);
556 556
557 ReleaseTiles(&now_and_ready_to_draw_bins); 557 ReleaseTiles(&now_and_ready_to_draw_bins);
558 ReleaseTiles(&now_bins); 558 ReleaseTiles(&now_bins);
559 ReleaseTiles(&soon_bins); 559 ReleaseTiles(&soon_bins);
560 ReleaseTiles(&eventually_and_active_bins); 560 ReleaseTiles(&eventually_and_active_bins);
561 ReleaseTiles(&eventually_bins); 561 ReleaseTiles(&eventually_bins);
(...skipping 28 matching lines...) Expand all
590 tile->SetPriority(PENDING_TREE, priorities[priority]); 590 tile->SetPriority(PENDING_TREE, priorities[priority]);
591 591
592 now_and_ready_to_draw_bins.push_back(tile); 592 now_and_ready_to_draw_bins.push_back(tile);
593 now_bins.push_back(tile); 593 now_bins.push_back(tile);
594 soon_bins.push_back(tile); 594 soon_bins.push_back(tile);
595 eventually_and_active_bins.push_back(tile); 595 eventually_and_active_bins.push_back(tile);
596 eventually_bins.push_back(tile); 596 eventually_bins.push_back(tile);
597 at_last_bins.push_back(tile); 597 at_last_bins.push_back(tile);
598 at_last_and_active_bins.push_back(tile); 598 at_last_and_active_bins.push_back(tile);
599 599
600 set.InsertTile(tile, NOW_AND_READY_TO_DRAW_BIN); 600 set.InsertTile(tile.get(), NOW_AND_READY_TO_DRAW_BIN);
601 set.InsertTile(tile, NOW_BIN); 601 set.InsertTile(tile.get(), NOW_BIN);
602 set.InsertTile(tile, SOON_BIN); 602 set.InsertTile(tile.get(), SOON_BIN);
603 set.InsertTile(tile, EVENTUALLY_AND_ACTIVE_BIN); 603 set.InsertTile(tile.get(), EVENTUALLY_AND_ACTIVE_BIN);
604 set.InsertTile(tile, EVENTUALLY_BIN); 604 set.InsertTile(tile.get(), EVENTUALLY_BIN);
605 set.InsertTile(tile, AT_LAST_BIN); 605 set.InsertTile(tile.get(), AT_LAST_BIN);
606 set.InsertTile(tile, AT_LAST_AND_ACTIVE_BIN); 606 set.InsertTile(tile.get(), AT_LAST_AND_ACTIVE_BIN);
607 } 607 }
608 } 608 }
609 609
610 PrioritizedTileSet::Iterator it(&set, true); 610 PrioritizedTileSet::Iterator it(&set, true);
611 std::vector<scoped_refptr<Tile> >::iterator vector_it; 611 std::vector<scoped_refptr<Tile> >::iterator vector_it;
612 612
613 // Now and ready are not sorted. 613 // Now and ready are not sorted.
614 for (vector_it = now_and_ready_to_draw_bins.begin(); 614 for (vector_it = now_and_ready_to_draw_bins.begin();
615 vector_it != now_and_ready_to_draw_bins.end(); 615 vector_it != now_and_ready_to_draw_bins.end();
616 ++vector_it) { 616 ++vector_it) {
617 EXPECT_TRUE(*vector_it == *it); 617 EXPECT_TRUE(vector_it->get() == *it);
618 ++it; 618 ++it;
619 } 619 }
620 620
621 // Now bins are sorted. 621 // Now bins are sorted.
622 std::sort(now_bins.begin(), now_bins.end(), BinComparator()); 622 std::sort(now_bins.begin(), now_bins.end(), BinComparator());
623 for (vector_it = now_bins.begin(); vector_it != now_bins.end(); ++vector_it) { 623 for (vector_it = now_bins.begin(); vector_it != now_bins.end(); ++vector_it) {
624 EXPECT_TRUE(*vector_it == *it); 624 EXPECT_TRUE(vector_it->get() == *it);
625 ++it; 625 ++it;
626 } 626 }
627 627
628 // Soon bins are sorted. 628 // Soon bins are sorted.
629 std::sort(soon_bins.begin(), soon_bins.end(), BinComparator()); 629 std::sort(soon_bins.begin(), soon_bins.end(), BinComparator());
630 for (vector_it = soon_bins.begin(); vector_it != soon_bins.end(); 630 for (vector_it = soon_bins.begin(); vector_it != soon_bins.end();
631 ++vector_it) { 631 ++vector_it) {
632 EXPECT_TRUE(*vector_it == *it); 632 EXPECT_TRUE(vector_it->get() == *it);
633 ++it; 633 ++it;
634 } 634 }
635 635
636 // After we disable priority ordering, we already have sorted the next vector. 636 // After we disable priority ordering, we already have sorted the next vector.
637 it.DisablePriorityOrdering(); 637 it.DisablePriorityOrdering();
638 638
639 // Eventually and active bins are sorted. 639 // Eventually and active bins are sorted.
640 std::sort(eventually_and_active_bins.begin(), 640 std::sort(eventually_and_active_bins.begin(),
641 eventually_and_active_bins.end(), 641 eventually_and_active_bins.end(),
642 BinComparator()); 642 BinComparator());
643 for (vector_it = eventually_and_active_bins.begin(); 643 for (vector_it = eventually_and_active_bins.begin();
644 vector_it != eventually_and_active_bins.end(); 644 vector_it != eventually_and_active_bins.end();
645 ++vector_it) { 645 ++vector_it) {
646 EXPECT_TRUE(*vector_it == *it); 646 EXPECT_TRUE(vector_it->get() == *it);
647 ++it; 647 ++it;
648 } 648 }
649 649
650 // Eventually bins are not sorted. 650 // Eventually bins are not sorted.
651 for (vector_it = eventually_bins.begin(); vector_it != eventually_bins.end(); 651 for (vector_it = eventually_bins.begin(); vector_it != eventually_bins.end();
652 ++vector_it) { 652 ++vector_it) {
653 EXPECT_TRUE(*vector_it == *it); 653 EXPECT_TRUE(vector_it->get() == *it);
654 ++it; 654 ++it;
655 } 655 }
656 656
657 // At last and active bins are not sorted. 657 // At last and active bins are not sorted.
658 for (vector_it = at_last_and_active_bins.begin(); 658 for (vector_it = at_last_and_active_bins.begin();
659 vector_it != at_last_and_active_bins.end(); 659 vector_it != at_last_and_active_bins.end();
660 ++vector_it) { 660 ++vector_it) {
661 EXPECT_TRUE(*vector_it == *it); 661 EXPECT_TRUE(vector_it->get() == *it);
662 ++it; 662 ++it;
663 } 663 }
664 664
665 // At last bins are not sorted. 665 // At last bins are not sorted.
666 for (vector_it = at_last_bins.begin(); vector_it != at_last_bins.end(); 666 for (vector_it = at_last_bins.begin(); vector_it != at_last_bins.end();
667 ++vector_it) { 667 ++vector_it) {
668 EXPECT_TRUE(*vector_it == *it); 668 EXPECT_TRUE(vector_it->get() == *it);
669 ++it; 669 ++it;
670 } 670 }
671 671
672 EXPECT_FALSE(it); 672 EXPECT_FALSE(it);
673 673
674 ReleaseTiles(&now_and_ready_to_draw_bins); 674 ReleaseTiles(&now_and_ready_to_draw_bins);
675 ReleaseTiles(&now_bins); 675 ReleaseTiles(&now_bins);
676 ReleaseTiles(&soon_bins); 676 ReleaseTiles(&soon_bins);
677 ReleaseTiles(&eventually_and_active_bins); 677 ReleaseTiles(&eventually_and_active_bins);
678 ReleaseTiles(&eventually_bins); 678 ReleaseTiles(&eventually_bins);
679 ReleaseTiles(&at_last_bins); 679 ReleaseTiles(&at_last_bins);
680 ReleaseTiles(&at_last_and_active_bins); 680 ReleaseTiles(&at_last_and_active_bins);
681 } 681 }
682 682
683 TEST_F(PrioritizedTileSetTest, TilesForFirstAndLastBins) { 683 TEST_F(PrioritizedTileSetTest, TilesForFirstAndLastBins) {
684 // Make sure that if we have empty lists between two non-empty lists, 684 // Make sure that if we have empty lists between two non-empty lists,
685 // we just get two tiles from the iterator. 685 // we just get two tiles from the iterator.
686 686
687 scoped_refptr<Tile> now_and_ready_to_draw_bin = CreateTile(); 687 scoped_refptr<Tile> now_and_ready_to_draw_bin = CreateTile();
688 scoped_refptr<Tile> at_last_bin = CreateTile(); 688 scoped_refptr<Tile> at_last_bin = CreateTile();
689 689
690 PrioritizedTileSet set; 690 PrioritizedTileSet set;
691 set.InsertTile(at_last_bin, AT_LAST_BIN); 691 set.InsertTile(at_last_bin.get(), AT_LAST_BIN);
692 set.InsertTile(now_and_ready_to_draw_bin, NOW_AND_READY_TO_DRAW_BIN); 692 set.InsertTile(now_and_ready_to_draw_bin.get(), NOW_AND_READY_TO_DRAW_BIN);
693 693
694 // Only two tiles should appear and they should appear in order. 694 // Only two tiles should appear and they should appear in order.
695 PrioritizedTileSet::Iterator it(&set, true); 695 PrioritizedTileSet::Iterator it(&set, true);
696 EXPECT_TRUE(*it == now_and_ready_to_draw_bin.get()); 696 EXPECT_TRUE(*it == now_and_ready_to_draw_bin.get());
697 ++it; 697 ++it;
698 EXPECT_TRUE(*it == at_last_bin.get()); 698 EXPECT_TRUE(*it == at_last_bin.get());
699 ++it; 699 ++it;
700 EXPECT_FALSE(it); 700 EXPECT_FALSE(it);
701 } 701 }
702 702
703 TEST_F(PrioritizedTileSetTest, MultipleIterators) { 703 TEST_F(PrioritizedTileSetTest, MultipleIterators) {
704 // Ensure that multiple iterators don't interfere with each other. 704 // Ensure that multiple iterators don't interfere with each other.
705 705
706 scoped_refptr<Tile> now_and_ready_to_draw_bin = CreateTile(); 706 scoped_refptr<Tile> now_and_ready_to_draw_bin = CreateTile();
707 scoped_refptr<Tile> now_bin = CreateTile(); 707 scoped_refptr<Tile> now_bin = CreateTile();
708 scoped_refptr<Tile> soon_bin = CreateTile(); 708 scoped_refptr<Tile> soon_bin = CreateTile();
709 scoped_refptr<Tile> eventually_bin = CreateTile(); 709 scoped_refptr<Tile> eventually_bin = CreateTile();
710 scoped_refptr<Tile> at_last_bin = CreateTile(); 710 scoped_refptr<Tile> at_last_bin = CreateTile();
711 711
712 PrioritizedTileSet set; 712 PrioritizedTileSet set;
713 set.InsertTile(soon_bin, SOON_BIN); 713 set.InsertTile(soon_bin.get(), SOON_BIN);
714 set.InsertTile(eventually_bin, EVENTUALLY_BIN); 714 set.InsertTile(eventually_bin.get(), EVENTUALLY_BIN);
715 set.InsertTile(now_bin, NOW_BIN); 715 set.InsertTile(now_bin.get(), NOW_BIN);
716 set.InsertTile(at_last_bin, AT_LAST_BIN); 716 set.InsertTile(at_last_bin.get(), AT_LAST_BIN);
717 set.InsertTile(now_and_ready_to_draw_bin, NOW_AND_READY_TO_DRAW_BIN); 717 set.InsertTile(now_and_ready_to_draw_bin.get(), NOW_AND_READY_TO_DRAW_BIN);
718 718
719 // Tiles should appear in order. 719 // Tiles should appear in order.
720 PrioritizedTileSet::Iterator it(&set, true); 720 PrioritizedTileSet::Iterator it(&set, true);
721 EXPECT_TRUE(*it == now_and_ready_to_draw_bin.get()); 721 EXPECT_TRUE(*it == now_and_ready_to_draw_bin.get());
722 ++it; 722 ++it;
723 EXPECT_TRUE(*it == now_bin.get()); 723 EXPECT_TRUE(*it == now_bin.get());
724 ++it; 724 ++it;
725 EXPECT_TRUE(*it == soon_bin.get()); 725 EXPECT_TRUE(*it == soon_bin.get());
726 ++it; 726 ++it;
727 EXPECT_TRUE(*it == eventually_bin.get()); 727 EXPECT_TRUE(*it == eventually_bin.get());
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 764
765 set.Clear(); 765 set.Clear();
766 766
767 PrioritizedTileSet::Iterator empty_it(&set, true); 767 PrioritizedTileSet::Iterator empty_it(&set, true);
768 EXPECT_FALSE(empty_it); 768 EXPECT_FALSE(empty_it);
769 } 769 }
770 770
771 } // namespace 771 } // namespace
772 } // namespace cc 772 } // namespace cc
773 773
OLDNEW
« no previous file with comments | « cc/resources/picture_unittest.cc ('k') | cc/resources/raster_worker_pool_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698