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

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

Issue 13895005: cc: Find a better prioritized rect when the viewport rect is huge. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/picture_layer_tiling.h" 5 #include "cc/resources/picture_layer_tiling.h"
6 6
7 #include "cc/test/fake_picture_layer_tiling_client.h" 7 #include "cc/test/fake_picture_layer_tiling_client.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/gfx/rect_conversions.h" 9 #include "ui/gfx/rect_conversions.h"
10 #include "ui/gfx/size_conversions.h" 10 #include "ui/gfx/size_conversions.h"
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 TEST_F(PictureLayerTilingIteratorTest, TilesExist) { 414 TEST_F(PictureLayerTilingIteratorTest, TilesExist) {
415 gfx::Size layer_bounds(1099, 801); 415 gfx::Size layer_bounds(1099, 801);
416 Initialize(gfx::Size(100, 100), 1.f, layer_bounds); 416 Initialize(gfx::Size(100, 100), 1.f, layer_bounds);
417 VerifyTilesExactlyCoverRect(1.f, gfx::Rect(layer_bounds)); 417 VerifyTilesExactlyCoverRect(1.f, gfx::Rect(layer_bounds));
418 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false)); 418 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false));
419 419
420 tiling_->UpdateTilePriorities( 420 tiling_->UpdateTilePriorities(
421 ACTIVE_TREE, 421 ACTIVE_TREE,
422 layer_bounds, // device viewport 422 layer_bounds, // device viewport
423 gfx::Rect(layer_bounds), // viewport in layer space 423 gfx::Rect(layer_bounds), // viewport in layer space
424 gfx::Rect(layer_bounds), // visible content rect
424 layer_bounds, // last layer bounds 425 layer_bounds, // last layer bounds
425 layer_bounds, // current layer bounds 426 layer_bounds, // current layer bounds
426 1.f, // last contents scale 427 1.f, // last contents scale
427 1.f, // current contents scale 428 1.f, // current contents scale
428 gfx::Transform(), // last screen transform 429 gfx::Transform(), // last screen transform
429 gfx::Transform(), // current screen transform 430 gfx::Transform(), // current screen transform
430 1, // current frame number 431 1, // current frame number
431 1.0, // current frame time 432 1.0, // current frame time
432 false, // store screen space quads on tiles 433 false, // store screen space quads on tiles
433 10000); // max tiles in tile manager 434 10000); // max tiles in tile manager
434 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, true)); 435 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, true));
435 436
436 // Make the viewport rect empty. All tiles are killed and become zombies. 437 // Make the viewport rect empty. All tiles are killed and become zombies.
437 tiling_->UpdateTilePriorities( 438 tiling_->UpdateTilePriorities(
438 ACTIVE_TREE, 439 ACTIVE_TREE,
439 layer_bounds, // device viewport 440 layer_bounds, // device viewport
440 gfx::Rect(), // viewport in layer space 441 gfx::Rect(), // viewport in layer space
442 gfx::Rect(), // visible content rect
441 layer_bounds, // last layer bounds 443 layer_bounds, // last layer bounds
442 layer_bounds, // current layer bounds 444 layer_bounds, // current layer bounds
443 1.f, // last contents scale 445 1.f, // last contents scale
444 1.f, // current contents scale 446 1.f, // current contents scale
445 gfx::Transform(), // last screen transform 447 gfx::Transform(), // last screen transform
446 gfx::Transform(), // current screen transform 448 gfx::Transform(), // current screen transform
447 2, // current frame number 449 2, // current frame number
448 2.0, // current frame time 450 2.0, // current frame time
449 false, // store screen space quads on tiles 451 false, // store screen space quads on tiles
450 10000); // max tiles in tile manager 452 10000); // max tiles in tile manager
451 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false)); 453 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false));
452 } 454 }
453 455
456 TEST_F(PictureLayerTilingIteratorTest, TilesExistGiantViewport) {
457 gfx::Size layer_bounds(1099, 801);
458 Initialize(gfx::Size(100, 100), 1.f, layer_bounds);
459 VerifyTilesExactlyCoverRect(1.f, gfx::Rect(layer_bounds));
460 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false));
461
462 gfx::Rect giant_rect(-10000000, -10000000, 1000000000, 1000000000);
463
464 tiling_->UpdateTilePriorities(
465 ACTIVE_TREE,
466 layer_bounds, // device viewport
467 giant_rect, // viewport in layer space
468 gfx::Rect(layer_bounds), // visible content rect
469 layer_bounds, // last layer bounds
470 layer_bounds, // current layer bounds
471 1.f, // last contents scale
472 1.f, // current contents scale
473 gfx::Transform(), // last screen transform
474 gfx::Transform(), // current screen transform
475 1, // current frame number
476 1.0, // current frame time
477 false, // store screen space quads on tiles
478 10000); // max tiles in tile manager
479 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, true));
480
481 // If the visible content rect is empty, it should still have live tiles.
482 tiling_->UpdateTilePriorities(
483 ACTIVE_TREE,
484 layer_bounds, // device viewport
485 giant_rect, // viewport in layer space
486 gfx::Rect(), // visible content rect
487 layer_bounds, // last layer bounds
488 layer_bounds, // current layer bounds
489 1.f, // last contents scale
490 1.f, // current contents scale
491 gfx::Transform(), // last screen transform
492 gfx::Transform(), // current screen transform
493 2, // current frame number
494 2.0, // current frame time
495 false, // store screen space quads on tiles
496 10000); // max tiles in tile manager
497 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, true));
498 }
499
500 TEST_F(PictureLayerTilingIteratorTest, TilesExistOutsideViewport) {
501 gfx::Size layer_bounds(1099, 801);
502 Initialize(gfx::Size(100, 100), 1.f, layer_bounds);
503 VerifyTilesExactlyCoverRect(1.f, gfx::Rect(layer_bounds));
504 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false));
505
506 // This rect does not intersect with the layer, as the layer is outside the
507 // viewport.
508 gfx::Rect viewport_rect(1100, 0, 1000, 1000);
509 EXPECT_FALSE(viewport_rect.Intersects(gfx::Rect(layer_bounds)));
510
511 tiling_->UpdateTilePriorities(
512 ACTIVE_TREE,
513 layer_bounds, // device viewport
514 viewport_rect, // viewport in layer space
515 gfx::Rect(), // visible content rect
516 layer_bounds, // last layer bounds
517 layer_bounds, // current layer bounds
518 1.f, // last contents scale
519 1.f, // current contents scale
520 gfx::Transform(), // last screen transform
521 gfx::Transform(), // current screen transform
522 2, // current frame number
523 2.0, // current frame time
524 false, // store screen space quads on tiles
525 10000); // max tiles in tile manager
526 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, true));
527 }
528
454 } // namespace 529 } // namespace
455 } // namespace cc 530 } // namespace cc
OLDNEW
« cc/resources/picture_layer_tiling.cc ('K') | « cc/resources/picture_layer_tiling_set.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698