| 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 <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 layer->draw_properties().maximum_animation_contents_scale = | 152 layer->draw_properties().maximum_animation_contents_scale = |
| 153 maximum_animation_contents_scale; | 153 maximum_animation_contents_scale; |
| 154 layer->draw_properties().screen_space_transform_is_animating = | 154 layer->draw_properties().screen_space_transform_is_animating = |
| 155 animating_transform_to_screen; | 155 animating_transform_to_screen; |
| 156 layer->UpdateTiles(NULL); | 156 layer->UpdateTiles(NULL); |
| 157 } | 157 } |
| 158 static void VerifyAllTilesExistAndHavePile( | 158 static void VerifyAllTilesExistAndHavePile( |
| 159 const PictureLayerTiling* tiling, | 159 const PictureLayerTiling* tiling, |
| 160 PicturePileImpl* pile) { | 160 PicturePileImpl* pile) { |
| 161 for (PictureLayerTiling::CoverageIterator iter( | 161 for (PictureLayerTiling::CoverageIterator iter( |
| 162 tiling, tiling->contents_scale(), tiling->TilingRect()); | 162 tiling, |
| 163 tiling->contents_scale(), |
| 164 gfx::Rect(tiling->tiling_size())); |
| 163 iter; | 165 iter; |
| 164 ++iter) { | 166 ++iter) { |
| 165 EXPECT_TRUE(*iter); | 167 EXPECT_TRUE(*iter); |
| 166 EXPECT_EQ(pile, iter->picture_pile()); | 168 EXPECT_EQ(pile, iter->picture_pile()); |
| 167 } | 169 } |
| 168 } | 170 } |
| 169 | 171 |
| 170 void SetContentsScaleOnBothLayers(float contents_scale, | 172 void SetContentsScaleOnBothLayers(float contents_scale, |
| 171 float device_scale_factor, | 173 float device_scale_factor, |
| 172 float page_scale_factor, | 174 float page_scale_factor, |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 AddDefaultTilingsWithInvalidation(invalidation); | 426 AddDefaultTilingsWithInvalidation(invalidation); |
| 425 | 427 |
| 426 const PictureLayerTilingSet* tilings = pending_layer_->tilings(); | 428 const PictureLayerTilingSet* tilings = pending_layer_->tilings(); |
| 427 EXPECT_GT(tilings->num_tilings(), 0u); | 429 EXPECT_GT(tilings->num_tilings(), 0u); |
| 428 for (size_t i = 0; i < tilings->num_tilings(); ++i) { | 430 for (size_t i = 0; i < tilings->num_tilings(); ++i) { |
| 429 const PictureLayerTiling* tiling = tilings->tiling_at(i); | 431 const PictureLayerTiling* tiling = tilings->tiling_at(i); |
| 430 gfx::Rect content_invalidation = gfx::ScaleToEnclosingRect( | 432 gfx::Rect content_invalidation = gfx::ScaleToEnclosingRect( |
| 431 layer_invalidation, | 433 layer_invalidation, |
| 432 tiling->contents_scale()); | 434 tiling->contents_scale()); |
| 433 for (PictureLayerTiling::CoverageIterator iter( | 435 for (PictureLayerTiling::CoverageIterator iter( |
| 434 tiling, tiling->contents_scale(), tiling->TilingRect()); | 436 tiling, |
| 437 tiling->contents_scale(), |
| 438 gfx::Rect(tiling->tiling_size())); |
| 435 iter; | 439 iter; |
| 436 ++iter) { | 440 ++iter) { |
| 437 EXPECT_TRUE(*iter); | 441 EXPECT_TRUE(*iter); |
| 438 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); | 442 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); |
| 439 if (iter.geometry_rect().Intersects(content_invalidation)) | 443 if (iter.geometry_rect().Intersects(content_invalidation)) |
| 440 EXPECT_EQ(pending_pile, iter->picture_pile()); | 444 EXPECT_EQ(pending_pile, iter->picture_pile()); |
| 441 else | 445 else |
| 442 EXPECT_EQ(active_pile, iter->picture_pile()); | 446 EXPECT_EQ(active_pile, iter->picture_pile()); |
| 443 } | 447 } |
| 444 } | 448 } |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 AddDefaultTilingsWithInvalidation(invalidation); | 489 AddDefaultTilingsWithInvalidation(invalidation); |
| 486 | 490 |
| 487 const PictureLayerTilingSet* tilings = pending_layer_->tilings(); | 491 const PictureLayerTilingSet* tilings = pending_layer_->tilings(); |
| 488 EXPECT_GT(tilings->num_tilings(), 0u); | 492 EXPECT_GT(tilings->num_tilings(), 0u); |
| 489 for (size_t i = 0; i < tilings->num_tilings(); ++i) { | 493 for (size_t i = 0; i < tilings->num_tilings(); ++i) { |
| 490 const PictureLayerTiling* tiling = tilings->tiling_at(i); | 494 const PictureLayerTiling* tiling = tilings->tiling_at(i); |
| 491 gfx::Rect active_content_bounds = gfx::ScaleToEnclosingRect( | 495 gfx::Rect active_content_bounds = gfx::ScaleToEnclosingRect( |
| 492 gfx::Rect(active_layer_bounds), | 496 gfx::Rect(active_layer_bounds), |
| 493 tiling->contents_scale()); | 497 tiling->contents_scale()); |
| 494 for (PictureLayerTiling::CoverageIterator iter( | 498 for (PictureLayerTiling::CoverageIterator iter( |
| 495 tiling, tiling->contents_scale(), tiling->TilingRect()); | 499 tiling, |
| 500 tiling->contents_scale(), |
| 501 gfx::Rect(tiling->tiling_size())); |
| 496 iter; | 502 iter; |
| 497 ++iter) { | 503 ++iter) { |
| 498 EXPECT_TRUE(*iter); | 504 EXPECT_TRUE(*iter); |
| 499 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); | 505 EXPECT_FALSE(iter.geometry_rect().IsEmpty()); |
| 500 std::vector<Tile*> active_tiles = | 506 std::vector<Tile*> active_tiles = |
| 501 active_layer_->tilings()->tiling_at(i)->AllTilesForTesting(); | 507 active_layer_->tilings()->tiling_at(i)->AllTilesForTesting(); |
| 502 std::vector<Tile*> pending_tiles = tiling->AllTilesForTesting(); | 508 std::vector<Tile*> pending_tiles = tiling->AllTilesForTesting(); |
| 503 if (iter.geometry_rect().right() >= active_content_bounds.width() || | 509 if (iter.geometry_rect().right() >= active_content_bounds.width() || |
| 504 iter.geometry_rect().bottom() >= active_content_bounds.height() || | 510 iter.geometry_rect().bottom() >= active_content_bounds.height() || |
| 505 active_tiles[0]->content_rect().size() != | 511 active_tiles[0]->content_rect().size() != |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 SetupTrees(pending_pile, active_pile); | 545 SetupTrees(pending_pile, active_pile); |
| 540 Region invalidation; | 546 Region invalidation; |
| 541 AddDefaultTilingsWithInvalidation(invalidation); | 547 AddDefaultTilingsWithInvalidation(invalidation); |
| 542 | 548 |
| 543 const PictureLayerTilingSet* tilings = pending_layer_->tilings(); | 549 const PictureLayerTilingSet* tilings = pending_layer_->tilings(); |
| 544 EXPECT_GT(tilings->num_tilings(), 0u); | 550 EXPECT_GT(tilings->num_tilings(), 0u); |
| 545 for (size_t i = 0; i < tilings->num_tilings(); ++i) { | 551 for (size_t i = 0; i < tilings->num_tilings(); ++i) { |
| 546 const PictureLayerTiling* tiling = tilings->tiling_at(i); | 552 const PictureLayerTiling* tiling = tilings->tiling_at(i); |
| 547 | 553 |
| 548 for (PictureLayerTiling::CoverageIterator iter( | 554 for (PictureLayerTiling::CoverageIterator iter( |
| 549 tiling, tiling->contents_scale(), tiling->TilingRect()); | 555 tiling, |
| 556 tiling->contents_scale(), |
| 557 gfx::Rect(tiling->tiling_size())); |
| 550 iter; | 558 iter; |
| 551 ++iter) { | 559 ++iter) { |
| 552 EXPECT_FALSE(iter.full_tile_geometry_rect().IsEmpty()); | 560 EXPECT_FALSE(iter.full_tile_geometry_rect().IsEmpty()); |
| 553 // Ensure there is a recording for this tile. | 561 // Ensure there is a recording for this tile. |
| 554 bool in_pending = pending_pile->CanRaster(tiling->contents_scale(), | 562 bool in_pending = pending_pile->CanRaster(tiling->contents_scale(), |
| 555 iter.full_tile_geometry_rect()); | 563 iter.full_tile_geometry_rect()); |
| 556 bool in_active = active_pile->CanRaster(tiling->contents_scale(), | 564 bool in_active = active_pile->CanRaster(tiling->contents_scale(), |
| 557 iter.full_tile_geometry_rect()); | 565 iter.full_tile_geometry_rect()); |
| 558 | 566 |
| 559 if (in_pending && !in_active) | 567 if (in_pending && !in_active) |
| (...skipping 2731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3291 // Unshared tiles are occluded on the active tree iff they lie beneath | 3299 // Unshared tiles are occluded on the active tree iff they lie beneath |
| 3292 // the occluding layer. | 3300 // the occluding layer. |
| 3293 EXPECT_EQ(tile->is_occluded(ACTIVE_TREE), | 3301 EXPECT_EQ(tile->is_occluded(ACTIVE_TREE), |
| 3294 scaled_content_rect.x() >= occluding_layer_position.x()); | 3302 scaled_content_rect.x() >= occluding_layer_position.x()); |
| 3295 } | 3303 } |
| 3296 } | 3304 } |
| 3297 } | 3305 } |
| 3298 } | 3306 } |
| 3299 } // namespace | 3307 } // namespace |
| 3300 } // namespace cc | 3308 } // namespace cc |
| OLD | NEW |