diff options
author | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-14 23:52:23 +0000 |
---|---|---|
committer | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-14 23:52:23 +0000 |
commit | 46e0613315cfe4fea3ebd26960c0e025e49f1e0f (patch) | |
tree | f84fe46d4e05c650867ba560cecef28da144f7fa /cc/layers/picture_layer_impl_unittest.cc | |
parent | d2691b8b107746f7896bb01991be529199a890c2 (diff) | |
download | chromium_src-46e0613315cfe4fea3ebd26960c0e025e49f1e0f.zip chromium_src-46e0613315cfe4fea3ebd26960c0e025e49f1e0f.tar.gz chromium_src-46e0613315cfe4fea3ebd26960c0e025e49f1e0f.tar.bz2 |
cc: Require high res tiles to activate when active twin has different bounds.
This is required to prevent checkerboarding and low-res tiles from
being visible when the size of a layer is increased.
BUG=372287
TEST=cc_unittess --gtest_filter=PictureLayerImplTest.HighResRequiredWhenActiveHasDifferentBounds
R=enne
Review URL: https://codereview.chromium.org/288783002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270514 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layers/picture_layer_impl_unittest.cc')
-rw-r--r-- | cc/layers/picture_layer_impl_unittest.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cc/layers/picture_layer_impl_unittest.cc b/cc/layers/picture_layer_impl_unittest.cc index 590560f..bdbe172 100644 --- a/cc/layers/picture_layer_impl_unittest.cc +++ b/cc/layers/picture_layer_impl_unittest.cc @@ -1609,6 +1609,25 @@ TEST_F(PictureLayerImplTest, HighResRequiredIfActiveCantHaveTiles) { AssertNoTilesRequired(pending_layer_->LowResTiling()); } +TEST_F(PictureLayerImplTest, HighResRequiredWhenActiveHasDifferentBounds) { + gfx::Size layer_bounds(200, 200); + gfx::Size tile_size(100, 100); + SetupDefaultTreesWithFixedTileSize(layer_bounds, tile_size); + + gfx::Size pending_layer_bounds(400, 400); + pending_layer_->SetBounds(pending_layer_bounds); + + CreateHighLowResAndSetAllTilesVisible(); + + active_layer_->SetAllTilesReady(); + + // Since the active layer has different bounds, the pending layer needs all + // high res tiles in order to activate. + pending_layer_->MarkVisibleResourcesAsRequired(); + AssertAllTilesRequired(pending_layer_->HighResTiling()); + AssertNoTilesRequired(pending_layer_->LowResTiling()); +} + TEST_F(PictureLayerImplTest, ActivateUninitializedLayer) { gfx::Size tile_size(100, 100); gfx::Size layer_bounds(400, 400); |