summaryrefslogtreecommitdiff
path: root/chromium/cc/tiles/picture_layer_tiling_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/tiles/picture_layer_tiling_unittest.cc')
-rw-r--r--chromium/cc/tiles/picture_layer_tiling_unittest.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/chromium/cc/tiles/picture_layer_tiling_unittest.cc b/chromium/cc/tiles/picture_layer_tiling_unittest.cc
index ec3b87024d7..bab33fef1ff 100644
--- a/chromium/cc/tiles/picture_layer_tiling_unittest.cc
+++ b/chromium/cc/tiles/picture_layer_tiling_unittest.cc
@@ -57,6 +57,7 @@ class TestablePictureLayerTiling : public PictureLayerTiling {
using PictureLayerTiling::ComputeSkewport;
using PictureLayerTiling::RemoveTileAt;
+ using PictureLayerTiling::RemoveTilesInRegion;
protected:
TestablePictureLayerTiling(WhichTree tree,
@@ -445,6 +446,30 @@ TEST_F(PictureLayerTilingIteratorTest, ResizeOverBorderPixelsDeletesTiles) {
tiling_->TilingDataForTesting().TileBounds(0, 0));
}
+TEST_F(PictureLayerTilingIteratorTest, RemoveOutsideLayerKeepsTiles) {
+ gfx::Size tile_size(100, 100);
+ gfx::Size layer_size(100, 100);
+ InitializeActive(tile_size, 1.f, layer_size);
+ SetLiveRectAndVerifyTiles(gfx::Rect(layer_size));
+
+ // In all cases here, the tiling should remain with one tile, since the remove
+ // region doesn't intersect it.
+
+ bool recreate_tiles = false;
+ // Top
+ tiling_->RemoveTilesInRegion(gfx::Rect(50, -1, 1, 1), recreate_tiles);
+ EXPECT_TRUE(tiling_->TileAt(0, 0));
+ // Bottom
+ tiling_->RemoveTilesInRegion(gfx::Rect(50, 100, 1, 1), recreate_tiles);
+ EXPECT_TRUE(tiling_->TileAt(0, 0));
+ // Left
+ tiling_->RemoveTilesInRegion(gfx::Rect(-1, 50, 1, 1), recreate_tiles);
+ EXPECT_TRUE(tiling_->TileAt(0, 0));
+ // Right
+ tiling_->RemoveTilesInRegion(gfx::Rect(100, 50, 1, 1), recreate_tiles);
+ EXPECT_TRUE(tiling_->TileAt(0, 0));
+}
+
TEST_F(PictureLayerTilingIteratorTest, LiveTilesExactlyCoverLiveTileRect) {
Initialize(gfx::Size(100, 100), 1.f, gfx::Size(1099, 801));
SetLiveRectAndVerifyTiles(gfx::Rect(100, 100));