Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: cc/layers/tiled_layer_unittest.cc

Issue 567743003: Fix bad scaling in TiledLayer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/layers/tiled_layer_unittest.cc
diff --git a/cc/layers/tiled_layer_unittest.cc b/cc/layers/tiled_layer_unittest.cc
index 8d7f7d8e7ccba8960eccd225b5214dfc2cc718b6..61fc742e9b49e74bd0fa2284da10a3fcba0f33e4 100644
--- a/cc/layers/tiled_layer_unittest.cc
+++ b/cc/layers/tiled_layer_unittest.cc
@@ -289,6 +289,27 @@ TEST_F(TiledLayerTest, PushDirtyTiles) {
EXPECT_FALSE(layer_impl->HasResourceIdForTileAt(0, 1));
}
+TEST_F(TiledLayerTest, Scale) {
+ layer_tree_host_->SetDeviceScaleFactor(1.5);
+
+ scoped_refptr<FakeTiledLayer> layer =
+ make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
+ scoped_ptr<FakeTiledLayerImpl> layer_impl =
+ make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1));
+ RenderSurfaceLayerList render_surface_layer_list;
+
+ layer_tree_host_->root_layer()->AddChild(layer);
+
+ layer->SetBounds(gfx::Size(100, 200));
+ CalcDrawProps(&render_surface_layer_list);
+
+ // Change the width so that it doesn't divide cleanly by the scale.
+ layer->SetBounds(gfx::Size(101, 200));
+ UpdateAndPush(layer, layer_impl);
+
+ EXPECT_EQ(1.5, layer->fake_layer_updater()->last_contents_width_scale());
+}
+
TEST_F(TiledLayerTest, PushOccludedDirtyTiles) {
scoped_refptr<FakeTiledLayer> layer =
make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));

Powered by Google App Engine
This is Rietveld 408576698