summaryrefslogtreecommitdiffstats
path: root/cc/layers/picture_layer_impl_unittest.cc
diff options
context:
space:
mode:
authorreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-14 23:52:23 +0000
committerreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-14 23:52:23 +0000
commit46e0613315cfe4fea3ebd26960c0e025e49f1e0f (patch)
treef84fe46d4e05c650867ba560cecef28da144f7fa /cc/layers/picture_layer_impl_unittest.cc
parentd2691b8b107746f7896bb01991be529199a890c2 (diff)
downloadchromium_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.cc19
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);