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

Side by Side Diff: cc/layers/picture_layer_impl_unittest.cc

Issue 235753002: cc: Give TilingData a Rect instead of a Size (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Git cl format Created 6 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
« no previous file with comments | « cc/layers/picture_layer.cc ('k') | cc/layers/picture_layer_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 "cc/layers/picture_layer_impl.h" 5 #include "cc/layers/picture_layer_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 active_layer_->AddTiling(2.3f); 113 active_layer_->AddTiling(2.3f);
114 active_layer_->AddTiling(1.0f); 114 active_layer_->AddTiling(1.0f);
115 active_layer_->AddTiling(0.5f); 115 active_layer_->AddTiling(0.5f);
116 for (size_t i = 0; i < active_layer_->tilings()->num_tilings(); ++i) 116 for (size_t i = 0; i < active_layer_->tilings()->num_tilings(); ++i)
117 active_layer_->tilings()->tiling_at(i)->CreateAllTilesForTesting(); 117 active_layer_->tilings()->tiling_at(i)->CreateAllTilesForTesting();
118 pending_layer_->set_invalidation(invalidation); 118 pending_layer_->set_invalidation(invalidation);
119 for (size_t i = 0; i < pending_layer_->tilings()->num_tilings(); ++i) 119 for (size_t i = 0; i < pending_layer_->tilings()->num_tilings(); ++i)
120 pending_layer_->tilings()->tiling_at(i)->CreateAllTilesForTesting(); 120 pending_layer_->tilings()->tiling_at(i)->CreateAllTilesForTesting();
121 } 121 }
122 122
123 void SetupPendingTree( 123 void SetupPendingTree(scoped_refptr<PicturePileImpl> pile) {
124 scoped_refptr<PicturePileImpl> pile) {
125 host_impl_.CreatePendingTree(); 124 host_impl_.CreatePendingTree();
126 LayerTreeImpl* pending_tree = host_impl_.pending_tree(); 125 LayerTreeImpl* pending_tree = host_impl_.pending_tree();
127 // Clear recycled tree. 126 // Clear recycled tree.
128 pending_tree->DetachLayerTree(); 127 pending_tree->DetachLayerTree();
129 128
130 scoped_ptr<FakePictureLayerImpl> pending_layer = 129 scoped_ptr<FakePictureLayerImpl> pending_layer =
131 FakePictureLayerImpl::CreateWithPile(pending_tree, id_, pile); 130 FakePictureLayerImpl::CreateWithPile(pending_tree, id_, pile);
132 pending_layer->SetDrawsContent(true); 131 pending_layer->SetDrawsContent(true);
133 pending_tree->SetRootLayer(pending_layer.PassAs<LayerImpl>()); 132 pending_tree->SetRootLayer(pending_layer.PassAs<LayerImpl>());
134 133
135 pending_layer_ = static_cast<FakePictureLayerImpl*>( 134 pending_layer_ = static_cast<FakePictureLayerImpl*>(
136 host_impl_.pending_tree()->LayerById(id_)); 135 host_impl_.pending_tree()->LayerById(id_));
137 pending_layer_->DoPostCommitInitializationIfNeeded(); 136 pending_layer_->DoPostCommitInitializationIfNeeded();
138 } 137 }
139 138
140 static void VerifyAllTilesExistAndHavePile( 139 static void VerifyAllTilesExistAndHavePile(
141 const PictureLayerTiling* tiling, 140 const PictureLayerTiling* tiling,
142 PicturePileImpl* pile) { 141 PicturePileImpl* pile) {
143 for (PictureLayerTiling::CoverageIterator 142 for (PictureLayerTiling::CoverageIterator iter(
144 iter(tiling, tiling->contents_scale(), tiling->ContentRect()); 143 tiling, tiling->contents_scale(), tiling->TilingRect());
145 iter; 144 iter;
146 ++iter) { 145 ++iter) {
147 EXPECT_TRUE(*iter); 146 EXPECT_TRUE(*iter);
148 EXPECT_EQ(pile, iter->picture_pile()); 147 EXPECT_EQ(pile, iter->picture_pile());
149 } 148 }
150 } 149 }
151 150
152 void SetContentsScaleOnBothLayers(float contents_scale, 151 void SetContentsScaleOnBothLayers(float contents_scale,
153 float device_scale_factor, 152 float device_scale_factor,
154 float page_scale_factor, 153 float page_scale_factor,
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 Region invalidation(layer_invalidation); 447 Region invalidation(layer_invalidation);
449 AddDefaultTilingsWithInvalidation(invalidation); 448 AddDefaultTilingsWithInvalidation(invalidation);
450 449
451 const PictureLayerTilingSet* tilings = pending_layer_->tilings(); 450 const PictureLayerTilingSet* tilings = pending_layer_->tilings();
452 EXPECT_GT(tilings->num_tilings(), 0u); 451 EXPECT_GT(tilings->num_tilings(), 0u);
453 for (size_t i = 0; i < tilings->num_tilings(); ++i) { 452 for (size_t i = 0; i < tilings->num_tilings(); ++i) {
454 const PictureLayerTiling* tiling = tilings->tiling_at(i); 453 const PictureLayerTiling* tiling = tilings->tiling_at(i);
455 gfx::Rect content_invalidation = gfx::ScaleToEnclosingRect( 454 gfx::Rect content_invalidation = gfx::ScaleToEnclosingRect(
456 layer_invalidation, 455 layer_invalidation,
457 tiling->contents_scale()); 456 tiling->contents_scale());
458 for (PictureLayerTiling::CoverageIterator 457 for (PictureLayerTiling::CoverageIterator iter(
459 iter(tiling, 458 tiling, tiling->contents_scale(), tiling->TilingRect());
460 tiling->contents_scale(),
461 tiling->ContentRect());
462 iter; 459 iter;
463 ++iter) { 460 ++iter) {
464 EXPECT_TRUE(*iter); 461 EXPECT_TRUE(*iter);
465 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); 462 EXPECT_FALSE(iter.geometry_rect().IsEmpty());
466 if (iter.geometry_rect().Intersects(content_invalidation)) 463 if (iter.geometry_rect().Intersects(content_invalidation))
467 EXPECT_EQ(pending_pile, iter->picture_pile()); 464 EXPECT_EQ(pending_pile, iter->picture_pile());
468 else 465 else
469 EXPECT_EQ(active_pile, iter->picture_pile()); 466 EXPECT_EQ(active_pile, iter->picture_pile());
470 } 467 }
471 } 468 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 Region invalidation; 508 Region invalidation;
512 AddDefaultTilingsWithInvalidation(invalidation); 509 AddDefaultTilingsWithInvalidation(invalidation);
513 510
514 const PictureLayerTilingSet* tilings = pending_layer_->tilings(); 511 const PictureLayerTilingSet* tilings = pending_layer_->tilings();
515 EXPECT_GT(tilings->num_tilings(), 0u); 512 EXPECT_GT(tilings->num_tilings(), 0u);
516 for (size_t i = 0; i < tilings->num_tilings(); ++i) { 513 for (size_t i = 0; i < tilings->num_tilings(); ++i) {
517 const PictureLayerTiling* tiling = tilings->tiling_at(i); 514 const PictureLayerTiling* tiling = tilings->tiling_at(i);
518 gfx::Rect active_content_bounds = gfx::ScaleToEnclosingRect( 515 gfx::Rect active_content_bounds = gfx::ScaleToEnclosingRect(
519 gfx::Rect(active_layer_bounds), 516 gfx::Rect(active_layer_bounds),
520 tiling->contents_scale()); 517 tiling->contents_scale());
521 for (PictureLayerTiling::CoverageIterator 518 for (PictureLayerTiling::CoverageIterator iter(
522 iter(tiling, 519 tiling, tiling->contents_scale(), tiling->TilingRect());
523 tiling->contents_scale(),
524 tiling->ContentRect());
525 iter; 520 iter;
526 ++iter) { 521 ++iter) {
527 EXPECT_TRUE(*iter); 522 EXPECT_TRUE(*iter);
528 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); 523 EXPECT_FALSE(iter.geometry_rect().IsEmpty());
529 std::vector<Tile*> active_tiles = 524 std::vector<Tile*> active_tiles =
530 active_layer_->tilings()->tiling_at(i)->AllTilesForTesting(); 525 active_layer_->tilings()->tiling_at(i)->AllTilesForTesting();
531 std::vector<Tile*> pending_tiles = tiling->AllTilesForTesting(); 526 std::vector<Tile*> pending_tiles = tiling->AllTilesForTesting();
532 if (iter.geometry_rect().right() >= active_content_bounds.width() || 527 if (iter.geometry_rect().right() >= active_content_bounds.width() ||
533 iter.geometry_rect().bottom() >= active_content_bounds.height() || 528 iter.geometry_rect().bottom() >= active_content_bounds.height() ||
534 active_tiles[0]->content_rect().size() != 529 active_tiles[0]->content_rect().size() !=
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 562
568 SetupTrees(pending_pile, active_pile); 563 SetupTrees(pending_pile, active_pile);
569 Region invalidation; 564 Region invalidation;
570 AddDefaultTilingsWithInvalidation(invalidation); 565 AddDefaultTilingsWithInvalidation(invalidation);
571 566
572 const PictureLayerTilingSet* tilings = pending_layer_->tilings(); 567 const PictureLayerTilingSet* tilings = pending_layer_->tilings();
573 EXPECT_GT(tilings->num_tilings(), 0u); 568 EXPECT_GT(tilings->num_tilings(), 0u);
574 for (size_t i = 0; i < tilings->num_tilings(); ++i) { 569 for (size_t i = 0; i < tilings->num_tilings(); ++i) {
575 const PictureLayerTiling* tiling = tilings->tiling_at(i); 570 const PictureLayerTiling* tiling = tilings->tiling_at(i);
576 571
577 for (PictureLayerTiling::CoverageIterator 572 for (PictureLayerTiling::CoverageIterator iter(
578 iter(tiling, 573 tiling, tiling->contents_scale(), tiling->TilingRect());
579 tiling->contents_scale(),
580 tiling->ContentRect());
581 iter; 574 iter;
582 ++iter) { 575 ++iter) {
583 EXPECT_FALSE(iter.full_tile_geometry_rect().IsEmpty()); 576 EXPECT_FALSE(iter.full_tile_geometry_rect().IsEmpty());
584 // Ensure there is a recording for this tile. 577 // Ensure there is a recording for this tile.
585 bool in_pending = pending_pile->CanRaster(tiling->contents_scale(), 578 bool in_pending = pending_pile->CanRaster(tiling->contents_scale(),
586 iter.full_tile_geometry_rect()); 579 iter.full_tile_geometry_rect());
587 bool in_active = active_pile->CanRaster(tiling->contents_scale(), 580 bool in_active = active_pile->CanRaster(tiling->contents_scale(),
588 iter.full_tile_geometry_rect()); 581 iter.full_tile_geometry_rect());
589 582
590 if (in_pending && !in_active) 583 if (in_pending && !in_active)
(...skipping 1572 matching lines...) Expand 10 before | Expand all | Expand 10 after
2163 EXPECT_FLOAT_EQ(tile->contents_scale(), expected_scales[scale_index]); 2156 EXPECT_FLOAT_EQ(tile->contents_scale(), expected_scales[scale_index]);
2164 unique_tiles.insert(tile); 2157 unique_tiles.insert(tile);
2165 } 2158 }
2166 2159
2167 EXPECT_TRUE(reached_required); 2160 EXPECT_TRUE(reached_required);
2168 EXPECT_EQ(all_tiles_set.size(), unique_tiles.size()); 2161 EXPECT_EQ(all_tiles_set.size(), unique_tiles.size());
2169 } 2162 }
2170 2163
2171 } // namespace 2164 } // namespace
2172 } // namespace cc 2165 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/picture_layer.cc ('k') | cc/layers/picture_layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698