OLD | NEW |
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 <utility> | 7 #include <utility> |
8 | 8 |
9 #include "cc/layers/picture_layer.h" | 9 #include "cc/layers/picture_layer.h" |
10 #include "cc/test/fake_content_layer_client.h" | 10 #include "cc/test/fake_content_layer_client.h" |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 | 182 |
183 scoped_ptr<TestablePictureLayerImpl> pending_layer = | 183 scoped_ptr<TestablePictureLayerImpl> pending_layer = |
184 TestablePictureLayerImpl::Create(pending_tree, id_, pile); | 184 TestablePictureLayerImpl::Create(pending_tree, id_, pile); |
185 pending_layer->SetDrawsContent(true); | 185 pending_layer->SetDrawsContent(true); |
186 pending_tree->SetRootLayer(pending_layer.PassAs<LayerImpl>()); | 186 pending_tree->SetRootLayer(pending_layer.PassAs<LayerImpl>()); |
187 } | 187 } |
188 | 188 |
189 static void VerifyAllTilesExistAndHavePile( | 189 static void VerifyAllTilesExistAndHavePile( |
190 const PictureLayerTiling* tiling, | 190 const PictureLayerTiling* tiling, |
191 PicturePileImpl* pile) { | 191 PicturePileImpl* pile) { |
192 for (PictureLayerTiling::Iterator | 192 for (PictureLayerTiling::CoverageIterator |
193 iter(tiling, tiling->contents_scale(), tiling->ContentRect()); | 193 iter(tiling, tiling->contents_scale(), tiling->ContentRect()); |
194 iter; | 194 iter; |
195 ++iter) { | 195 ++iter) { |
196 EXPECT_TRUE(*iter); | 196 EXPECT_TRUE(*iter); |
197 EXPECT_EQ(pile, iter->picture_pile()); | 197 EXPECT_EQ(pile, iter->picture_pile()); |
198 } | 198 } |
199 } | 199 } |
200 | 200 |
201 void SetContentsScaleOnBothLayers(float scale, bool animating_transform) { | 201 void SetContentsScaleOnBothLayers(float scale, bool animating_transform) { |
202 float result_scale_x, result_scale_y; | 202 float result_scale_x, result_scale_y; |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 Region invalidation(layer_invalidation); | 324 Region invalidation(layer_invalidation); |
325 AddDefaultTilingsWithInvalidation(invalidation); | 325 AddDefaultTilingsWithInvalidation(invalidation); |
326 | 326 |
327 const PictureLayerTilingSet& tilings = pending_layer_->tilings(); | 327 const PictureLayerTilingSet& tilings = pending_layer_->tilings(); |
328 EXPECT_GT(tilings.num_tilings(), 0u); | 328 EXPECT_GT(tilings.num_tilings(), 0u); |
329 for (size_t i = 0; i < tilings.num_tilings(); ++i) { | 329 for (size_t i = 0; i < tilings.num_tilings(); ++i) { |
330 const PictureLayerTiling* tiling = tilings.tiling_at(i); | 330 const PictureLayerTiling* tiling = tilings.tiling_at(i); |
331 gfx::Rect content_invalidation = gfx::ToEnclosingRect(gfx::ScaleRect( | 331 gfx::Rect content_invalidation = gfx::ToEnclosingRect(gfx::ScaleRect( |
332 layer_invalidation, | 332 layer_invalidation, |
333 tiling->contents_scale())); | 333 tiling->contents_scale())); |
334 for (PictureLayerTiling::Iterator | 334 for (PictureLayerTiling::CoverageIterator |
335 iter(tiling, | 335 iter(tiling, |
336 tiling->contents_scale(), | 336 tiling->contents_scale(), |
337 tiling->ContentRect()); | 337 tiling->ContentRect()); |
338 iter; | 338 iter; |
339 ++iter) { | 339 ++iter) { |
340 EXPECT_TRUE(*iter); | 340 EXPECT_TRUE(*iter); |
341 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); | 341 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); |
342 if (iter.geometry_rect().Intersects(content_invalidation)) | 342 if (iter.geometry_rect().Intersects(content_invalidation)) |
343 EXPECT_EQ(pending_pile, iter->picture_pile()); | 343 EXPECT_EQ(pending_pile, iter->picture_pile()); |
344 else | 344 else |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 Region invalidation; | 386 Region invalidation; |
387 AddDefaultTilingsWithInvalidation(invalidation); | 387 AddDefaultTilingsWithInvalidation(invalidation); |
388 | 388 |
389 const PictureLayerTilingSet& tilings = pending_layer_->tilings(); | 389 const PictureLayerTilingSet& tilings = pending_layer_->tilings(); |
390 EXPECT_GT(tilings.num_tilings(), 0u); | 390 EXPECT_GT(tilings.num_tilings(), 0u); |
391 for (size_t i = 0; i < tilings.num_tilings(); ++i) { | 391 for (size_t i = 0; i < tilings.num_tilings(); ++i) { |
392 const PictureLayerTiling* tiling = tilings.tiling_at(i); | 392 const PictureLayerTiling* tiling = tilings.tiling_at(i); |
393 gfx::Rect active_content_bounds = gfx::ToEnclosingRect(gfx::ScaleRect( | 393 gfx::Rect active_content_bounds = gfx::ToEnclosingRect(gfx::ScaleRect( |
394 gfx::Rect(active_layer_bounds), | 394 gfx::Rect(active_layer_bounds), |
395 tiling->contents_scale())); | 395 tiling->contents_scale())); |
396 for (PictureLayerTiling::Iterator | 396 for (PictureLayerTiling::CoverageIterator |
397 iter(tiling, | 397 iter(tiling, |
398 tiling->contents_scale(), | 398 tiling->contents_scale(), |
399 tiling->ContentRect()); | 399 tiling->ContentRect()); |
400 iter; | 400 iter; |
401 ++iter) { | 401 ++iter) { |
402 EXPECT_TRUE(*iter); | 402 EXPECT_TRUE(*iter); |
403 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); | 403 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); |
404 if (iter.geometry_rect().right() >= active_content_bounds.width() || | 404 if (iter.geometry_rect().right() >= active_content_bounds.width() || |
405 iter.geometry_rect().bottom() >= active_content_bounds.height()) { | 405 iter.geometry_rect().bottom() >= active_content_bounds.height()) { |
406 EXPECT_EQ(pending_pile, iter->picture_pile()); | 406 EXPECT_EQ(pending_pile, iter->picture_pile()); |
(...skipping 30 matching lines...) Expand all Loading... |
437 | 437 |
438 SetupTrees(pending_pile, active_pile); | 438 SetupTrees(pending_pile, active_pile); |
439 Region invalidation; | 439 Region invalidation; |
440 AddDefaultTilingsWithInvalidation(invalidation); | 440 AddDefaultTilingsWithInvalidation(invalidation); |
441 | 441 |
442 const PictureLayerTilingSet& tilings = pending_layer_->tilings(); | 442 const PictureLayerTilingSet& tilings = pending_layer_->tilings(); |
443 EXPECT_GT(tilings.num_tilings(), 0u); | 443 EXPECT_GT(tilings.num_tilings(), 0u); |
444 for (size_t i = 0; i < tilings.num_tilings(); ++i) { | 444 for (size_t i = 0; i < tilings.num_tilings(); ++i) { |
445 const PictureLayerTiling* tiling = tilings.tiling_at(i); | 445 const PictureLayerTiling* tiling = tilings.tiling_at(i); |
446 | 446 |
447 for (PictureLayerTiling::Iterator | 447 for (PictureLayerTiling::CoverageIterator |
448 iter(tiling, | 448 iter(tiling, |
449 tiling->contents_scale(), | 449 tiling->contents_scale(), |
450 tiling->ContentRect()); | 450 tiling->ContentRect()); |
451 iter; | 451 iter; |
452 ++iter) { | 452 ++iter) { |
453 EXPECT_FALSE(iter.full_tile_geometry_rect().IsEmpty()); | 453 EXPECT_FALSE(iter.full_tile_geometry_rect().IsEmpty()); |
454 // Ensure there is a recording for this tile. | 454 // Ensure there is a recording for this tile. |
455 gfx::Rect layer_rect = gfx::ToEnclosingRect(gfx::ScaleRect( | 455 gfx::Rect layer_rect = gfx::ToEnclosingRect(gfx::ScaleRect( |
456 iter.full_tile_geometry_rect(), 1.f / tiling->contents_scale())); | 456 iter.full_tile_geometry_rect(), 1.f / tiling->contents_scale())); |
457 layer_rect.Intersect(gfx::Rect(layer_bounds)); | 457 layer_rect.Intersect(gfx::Rect(layer_bounds)); |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
687 used_tilings.push_back(active_layer_->tilings().tiling_at(1)); | 687 used_tilings.push_back(active_layer_->tilings().tiling_at(1)); |
688 active_layer_->CleanUpTilingsOnActiveLayer(used_tilings); | 688 active_layer_->CleanUpTilingsOnActiveLayer(used_tilings); |
689 ASSERT_EQ(3u, active_layer_->tilings().num_tilings()); | 689 ASSERT_EQ(3u, active_layer_->tilings().num_tilings()); |
690 used_tilings.clear(); | 690 used_tilings.clear(); |
691 active_layer_->CleanUpTilingsOnActiveLayer(used_tilings); | 691 active_layer_->CleanUpTilingsOnActiveLayer(used_tilings); |
692 ASSERT_EQ(2u, active_layer_->tilings().num_tilings()); | 692 ASSERT_EQ(2u, active_layer_->tilings().num_tilings()); |
693 } | 693 } |
694 | 694 |
695 } // namespace | 695 } // namespace |
696 } // namespace cc | 696 } // namespace cc |
OLD | NEW |