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

Side by Side Diff: cc/layers/tiled_layer_unittest.cc

Issue 13637017: Delete layout_viewport_size. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Android Created 7 years, 8 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 unified diff | Download patch
« no previous file with comments | « cc/layers/texture_layer_unittest.cc ('k') | cc/test/layer_tree_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/tiled_layer.h" 5 #include "cc/layers/tiled_layer.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <vector> 8 #include <vector>
9 9
10 #include "cc/debug/overdraw_metrics.h" 10 #include "cc/debug/overdraw_metrics.h"
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 EXPECT_FALSE(layer_impl->HasResourceIdForTileAt(0, 1)); 222 EXPECT_FALSE(layer_impl->HasResourceIdForTileAt(0, 1));
223 } 223 }
224 224
225 TEST_F(TiledLayerTest, PushOccludedDirtyTiles) { 225 TEST_F(TiledLayerTest, PushOccludedDirtyTiles) {
226 scoped_refptr<FakeTiledLayer> layer = 226 scoped_refptr<FakeTiledLayer> layer =
227 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 227 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
228 scoped_ptr<FakeTiledLayerImpl> layer_impl = 228 scoped_ptr<FakeTiledLayerImpl> layer_impl =
229 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1)); 229 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1));
230 TestOcclusionTracker occluded; 230 TestOcclusionTracker occluded;
231 occlusion_ = &occluded; 231 occlusion_ = &occluded;
232 layer_tree_host_->SetViewportSize(gfx::Size(1000, 1000), 232 layer_tree_host_->SetViewportSize(gfx::Size(1000, 1000));
233 gfx::Size(1000, 1000));
234 233
235 // The tile size is 100x100, so this invalidates and then paints two tiles. 234 // The tile size is 100x100, so this invalidates and then paints two tiles.
236 layer->SetBounds(gfx::Size(100, 200)); 235 layer->SetBounds(gfx::Size(100, 200));
237 CalcDrawProps(layer); 236 CalcDrawProps(layer);
238 UpdateAndPush(layer, layer_impl); 237 UpdateAndPush(layer, layer_impl);
239 238
240 EXPECT_NEAR(occluded.overdraw_metrics()->pixels_uploaded_opaque(), 0, 1); 239 EXPECT_NEAR(occluded.overdraw_metrics()->pixels_uploaded_opaque(), 0, 1);
241 EXPECT_NEAR( 240 EXPECT_NEAR(
242 occluded.overdraw_metrics()->pixels_uploaded_translucent(), 20000, 1); 241 occluded.overdraw_metrics()->pixels_uploaded_translucent(), 20000, 1);
243 EXPECT_EQ(0, occluded.overdraw_metrics()->tiles_culled_for_upload()); 242 EXPECT_EQ(0, occluded.overdraw_metrics()->tiles_culled_for_upload());
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 // so the layer is considered small enough. 571 // so the layer is considered small enough.
573 bool run_out_of_memory[2] = { false, true }; 572 bool run_out_of_memory[2] = { false, true };
574 for (int i = 0; i < 2; i++) { 573 for (int i = 0; i < 2; i++) {
575 // Create a layer with 5x5 tiles, with 4x4 size viewport. 574 // Create a layer with 5x5 tiles, with 4x4 size viewport.
576 int viewport_width = 4 * FakeTiledLayer::tile_size().width(); 575 int viewport_width = 4 * FakeTiledLayer::tile_size().width();
577 int viewport_height = 4 * FakeTiledLayer::tile_size().width(); 576 int viewport_height = 4 * FakeTiledLayer::tile_size().width();
578 int layer_width = 5 * FakeTiledLayer::tile_size().width(); 577 int layer_width = 5 * FakeTiledLayer::tile_size().width();
579 int layer_height = 5 * FakeTiledLayer::tile_size().height(); 578 int layer_height = 5 * FakeTiledLayer::tile_size().height();
580 int memory_for_layer = layer_width * layer_height * 4; 579 int memory_for_layer = layer_width * layer_height * 4;
581 layer_tree_host_->SetViewportSize( 580 layer_tree_host_->SetViewportSize(
582 gfx::Size(viewport_width, viewport_height),
583 gfx::Size(viewport_width, viewport_height)); 581 gfx::Size(viewport_width, viewport_height));
584 582
585 // Use 10x5 tiles to run out of memory. 583 // Use 10x5 tiles to run out of memory.
586 if (run_out_of_memory[i]) 584 if (run_out_of_memory[i])
587 layer_width *= 2; 585 layer_width *= 2;
588 586
589 resource_manager_->SetMaxMemoryLimitBytes(memory_for_layer); 587 resource_manager_->SetMaxMemoryLimitBytes(memory_for_layer);
590 588
591 scoped_refptr<FakeTiledLayer> layer = 589 scoped_refptr<FakeTiledLayer> layer =
592 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 590 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
874 root_layer->SetBounds(content_bounds); 872 root_layer->SetBounds(content_bounds);
875 root_layer->draw_properties().visible_content_rect = content_rect; 873 root_layer->draw_properties().visible_content_rect = content_rect;
876 root_layer->SetPosition(gfx::PointF(0, 0)); 874 root_layer->SetPosition(gfx::PointF(0, 0));
877 child_layer->SetBounds(content_bounds); 875 child_layer->SetBounds(content_bounds);
878 child_layer->draw_properties().visible_content_rect = content_rect; 876 child_layer->draw_properties().visible_content_rect = content_rect;
879 child_layer->SetPosition(gfx::PointF(0, 0)); 877 child_layer->SetPosition(gfx::PointF(0, 0));
880 root_layer->InvalidateContentRect(content_rect); 878 root_layer->InvalidateContentRect(content_rect);
881 child_layer->InvalidateContentRect(content_rect); 879 child_layer->InvalidateContentRect(content_rect);
882 880
883 layer_tree_host_->SetRootLayer(root_layer); 881 layer_tree_host_->SetRootLayer(root_layer);
884 layer_tree_host_->SetViewportSize(gfx::Size(300, 300), gfx::Size(300, 300)); 882 layer_tree_host_->SetViewportSize(gfx::Size(300, 300));
885 883
886 layer_tree_host_->UpdateLayers(queue_.get(), memory_limit); 884 layer_tree_host_->UpdateLayers(queue_.get(), memory_limit);
887 885
888 // We'll skip the root layer. 886 // We'll skip the root layer.
889 EXPECT_TRUE(root_layer->SkipsDraw()); 887 EXPECT_TRUE(root_layer->SkipsDraw());
890 EXPECT_FALSE(child_layer->SkipsDraw()); 888 EXPECT_FALSE(child_layer->SkipsDraw());
891 889
892 layer_tree_host_->CommitComplete(); 890 layer_tree_host_->CommitComplete();
893 891
894 // Remove the child layer. 892 // Remove the child layer.
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
944 gfx::Rect content_rect(content_bounds); 942 gfx::Rect content_rect(content_bounds);
945 943
946 scoped_refptr<FakeTiledLayer> layer = make_scoped_refptr( 944 scoped_refptr<FakeTiledLayer> layer = make_scoped_refptr(
947 new FakeTiledLayer(layer_tree_host_->contents_texture_manager())); 945 new FakeTiledLayer(layer_tree_host_->contents_texture_manager()));
948 layer->SetBounds(content_bounds); 946 layer->SetBounds(content_bounds);
949 layer->SetPosition(gfx::PointF(0, 0)); 947 layer->SetPosition(gfx::PointF(0, 0));
950 layer->draw_properties().visible_content_rect = content_rect; 948 layer->draw_properties().visible_content_rect = content_rect;
951 layer->InvalidateContentRect(content_rect); 949 layer->InvalidateContentRect(content_rect);
952 950
953 layer_tree_host_->SetRootLayer(layer); 951 layer_tree_host_->SetRootLayer(layer);
954 layer_tree_host_->SetViewportSize(gfx::Size(300, 200), gfx::Size(300, 200)); 952 layer_tree_host_->SetViewportSize(gfx::Size(300, 200));
955 953
956 // Full update of all 6 tiles. 954 // Full update of all 6 tiles.
957 layer_tree_host_->UpdateLayers(queue_.get(), 955 layer_tree_host_->UpdateLayers(queue_.get(),
958 std::numeric_limits<size_t>::max()); 956 std::numeric_limits<size_t>::max());
959 { 957 {
960 scoped_ptr<FakeTiledLayerImpl> layer_impl = 958 scoped_ptr<FakeTiledLayerImpl> layer_impl =
961 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1)); 959 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1));
962 EXPECT_EQ(6u, queue_->FullUploadSize()); 960 EXPECT_EQ(6u, queue_->FullUploadSize());
963 EXPECT_EQ(0u, queue_->PartialUploadSize()); 961 EXPECT_EQ(0u, queue_->PartialUploadSize());
964 UpdateTextures(); 962 UpdateTextures();
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1066 } 1064 }
1067 1065
1068 TEST_F(TiledLayerTest, TilesPaintedWithOcclusion) { 1066 TEST_F(TiledLayerTest, TilesPaintedWithOcclusion) {
1069 scoped_refptr<FakeTiledLayer> layer = 1067 scoped_refptr<FakeTiledLayer> layer =
1070 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 1068 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
1071 TestOcclusionTracker occluded; 1069 TestOcclusionTracker occluded;
1072 occlusion_ = &occluded; 1070 occlusion_ = &occluded;
1073 1071
1074 // The tile size is 100x100. 1072 // The tile size is 100x100.
1075 1073
1076 layer_tree_host_->SetViewportSize(gfx::Size(600, 600), gfx::Size(600, 600)); 1074 layer_tree_host_->SetViewportSize(gfx::Size(600, 600));
1077 layer->SetBounds(gfx::Size(600, 600)); 1075 layer->SetBounds(gfx::Size(600, 600));
1078 CalcDrawProps(layer); 1076 CalcDrawProps(layer);
1079 1077
1080 occluded.SetOcclusion(gfx::Rect(200, 200, 300, 100)); 1078 occluded.SetOcclusion(gfx::Rect(200, 200, 300, 100));
1081 layer->draw_properties().drawable_content_rect = 1079 layer->draw_properties().drawable_content_rect =
1082 gfx::Rect(layer->content_bounds()); 1080 gfx::Rect(layer->content_bounds());
1083 layer->draw_properties().visible_content_rect = 1081 layer->draw_properties().visible_content_rect =
1084 gfx::Rect(layer->content_bounds()); 1082 gfx::Rect(layer->content_bounds());
1085 layer->InvalidateContentRect(gfx::Rect(0, 0, 600, 600)); 1083 layer->InvalidateContentRect(gfx::Rect(0, 0, 600, 600));
1086 1084
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1126 } 1124 }
1127 1125
1128 TEST_F(TiledLayerTest, TilesPaintedWithOcclusionAndVisiblityConstraints) { 1126 TEST_F(TiledLayerTest, TilesPaintedWithOcclusionAndVisiblityConstraints) {
1129 scoped_refptr<FakeTiledLayer> layer = 1127 scoped_refptr<FakeTiledLayer> layer =
1130 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 1128 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
1131 TestOcclusionTracker occluded; 1129 TestOcclusionTracker occluded;
1132 occlusion_ = &occluded; 1130 occlusion_ = &occluded;
1133 1131
1134 // The tile size is 100x100. 1132 // The tile size is 100x100.
1135 1133
1136 layer_tree_host_->SetViewportSize(gfx::Size(600, 600), gfx::Size(600, 600)); 1134 layer_tree_host_->SetViewportSize(gfx::Size(600, 600));
1137 layer->SetBounds(gfx::Size(600, 600)); 1135 layer->SetBounds(gfx::Size(600, 600));
1138 CalcDrawProps(layer); 1136 CalcDrawProps(layer);
1139 1137
1140 // The partially occluded tiles (by the 150 occlusion height) are visible 1138 // The partially occluded tiles (by the 150 occlusion height) are visible
1141 // beyond the occlusion, so not culled. 1139 // beyond the occlusion, so not culled.
1142 occluded.SetOcclusion(gfx::Rect(200, 200, 300, 150)); 1140 occluded.SetOcclusion(gfx::Rect(200, 200, 300, 150));
1143 layer->draw_properties().drawable_content_rect = gfx::Rect(0, 0, 600, 360); 1141 layer->draw_properties().drawable_content_rect = gfx::Rect(0, 0, 600, 360);
1144 layer->draw_properties().visible_content_rect = gfx::Rect(0, 0, 600, 360); 1142 layer->draw_properties().visible_content_rect = gfx::Rect(0, 0, 600, 360);
1145 layer->InvalidateContentRect(gfx::Rect(0, 0, 600, 600)); 1143 layer->InvalidateContentRect(gfx::Rect(0, 0, 600, 600));
1146 1144
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1194 } 1192 }
1195 1193
1196 TEST_F(TiledLayerTest, TilesNotPaintedWithoutInvalidation) { 1194 TEST_F(TiledLayerTest, TilesNotPaintedWithoutInvalidation) {
1197 scoped_refptr<FakeTiledLayer> layer = 1195 scoped_refptr<FakeTiledLayer> layer =
1198 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 1196 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
1199 TestOcclusionTracker occluded; 1197 TestOcclusionTracker occluded;
1200 occlusion_ = &occluded; 1198 occlusion_ = &occluded;
1201 1199
1202 // The tile size is 100x100. 1200 // The tile size is 100x100.
1203 1201
1204 layer_tree_host_->SetViewportSize(gfx::Size(600, 600), gfx::Size(600, 600)); 1202 layer_tree_host_->SetViewportSize(gfx::Size(600, 600));
1205 layer->SetBounds(gfx::Size(600, 600)); 1203 layer->SetBounds(gfx::Size(600, 600));
1206 CalcDrawProps(layer); 1204 CalcDrawProps(layer);
1207 1205
1208 occluded.SetOcclusion(gfx::Rect(200, 200, 300, 100)); 1206 occluded.SetOcclusion(gfx::Rect(200, 200, 300, 100));
1209 layer->draw_properties().drawable_content_rect = gfx::Rect(0, 0, 600, 600); 1207 layer->draw_properties().drawable_content_rect = gfx::Rect(0, 0, 600, 600);
1210 layer->draw_properties().visible_content_rect = gfx::Rect(0, 0, 600, 600); 1208 layer->draw_properties().visible_content_rect = gfx::Rect(0, 0, 600, 600);
1211 layer->InvalidateContentRect(gfx::Rect(0, 0, 600, 600)); 1209 layer->InvalidateContentRect(gfx::Rect(0, 0, 600, 600));
1212 layer->SetTexturePriorities(priority_calculator_); 1210 layer->SetTexturePriorities(priority_calculator_);
1213 resource_manager_->PrioritizeTextures(); 1211 resource_manager_->PrioritizeTextures();
1214 layer->Update(queue_.get(), &occluded, NULL); 1212 layer->Update(queue_.get(), &occluded, NULL);
(...skipping 23 matching lines...) Expand all
1238 TEST_F(TiledLayerTest, TilesPaintedWithOcclusionAndTransforms) { 1236 TEST_F(TiledLayerTest, TilesPaintedWithOcclusionAndTransforms) {
1239 scoped_refptr<FakeTiledLayer> layer = 1237 scoped_refptr<FakeTiledLayer> layer =
1240 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 1238 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
1241 TestOcclusionTracker occluded; 1239 TestOcclusionTracker occluded;
1242 occlusion_ = &occluded; 1240 occlusion_ = &occluded;
1243 1241
1244 // The tile size is 100x100. 1242 // The tile size is 100x100.
1245 1243
1246 // This makes sure the painting works when the occluded region (in screen 1244 // This makes sure the painting works when the occluded region (in screen
1247 // space) is transformed differently than the layer. 1245 // space) is transformed differently than the layer.
1248 layer_tree_host_->SetViewportSize(gfx::Size(600, 600), gfx::Size(600, 600)); 1246 layer_tree_host_->SetViewportSize(gfx::Size(600, 600));
1249 layer->SetBounds(gfx::Size(600, 600)); 1247 layer->SetBounds(gfx::Size(600, 600));
1250 CalcDrawProps(layer); 1248 CalcDrawProps(layer);
1251 gfx::Transform screen_transform; 1249 gfx::Transform screen_transform;
1252 screen_transform.Scale(0.5, 0.5); 1250 screen_transform.Scale(0.5, 0.5);
1253 layer->draw_properties().screen_space_transform = screen_transform; 1251 layer->draw_properties().screen_space_transform = screen_transform;
1254 layer->draw_properties().target_space_transform = screen_transform; 1252 layer->draw_properties().target_space_transform = screen_transform;
1255 1253
1256 occluded.SetOcclusion(gfx::Rect(100, 100, 150, 50)); 1254 occluded.SetOcclusion(gfx::Rect(100, 100, 150, 50));
1257 layer->draw_properties().drawable_content_rect = 1255 layer->draw_properties().drawable_content_rect =
1258 gfx::Rect(layer->content_bounds()); 1256 gfx::Rect(layer->content_bounds());
(...skipping 15 matching lines...) Expand all
1274 scoped_refptr<FakeTiledLayer> layer = 1272 scoped_refptr<FakeTiledLayer> layer =
1275 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 1273 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
1276 TestOcclusionTracker occluded; 1274 TestOcclusionTracker occluded;
1277 occlusion_ = &occluded; 1275 occlusion_ = &occluded;
1278 1276
1279 // The tile size is 100x100. 1277 // The tile size is 100x100.
1280 1278
1281 // This makes sure the painting works when the content space is scaled to 1279 // This makes sure the painting works when the content space is scaled to
1282 // a different layer space. In this case tiles are scaled to be 200x200 1280 // a different layer space. In this case tiles are scaled to be 200x200
1283 // pixels, which means none should be occluded. 1281 // pixels, which means none should be occluded.
1284 layer_tree_host_->SetViewportSize(gfx::Size(600, 600), gfx::Size(600, 600)); 1282 layer_tree_host_->SetViewportSize(gfx::Size(600, 600));
1285 layer->SetBounds(gfx::Size(600, 600)); 1283 layer->SetBounds(gfx::Size(600, 600));
1286 layer->SetRasterScale(0.5); 1284 layer->SetRasterScale(0.5);
1287 CalcDrawProps(layer); 1285 CalcDrawProps(layer);
1288 EXPECT_FLOAT_EQ(layer->contents_scale_x(), layer->contents_scale_y()); 1286 EXPECT_FLOAT_EQ(layer->contents_scale_x(), layer->contents_scale_y());
1289 gfx::Transform draw_transform; 1287 gfx::Transform draw_transform;
1290 double inv_scale_factor = 1 / layer->contents_scale_x(); 1288 double inv_scale_factor = 1 / layer->contents_scale_x();
1291 draw_transform.Scale(inv_scale_factor, inv_scale_factor); 1289 draw_transform.Scale(inv_scale_factor, inv_scale_factor);
1292 layer->draw_properties().target_space_transform = draw_transform; 1290 layer->draw_properties().target_space_transform = draw_transform;
1293 layer->draw_properties().screen_space_transform = draw_transform; 1291 layer->draw_properties().screen_space_transform = draw_transform;
1294 1292
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1359 90000 + 80000 + 80000, 1357 90000 + 80000 + 80000,
1360 1); 1358 1);
1361 EXPECT_EQ(1 + 1, occluded.overdraw_metrics()->tiles_culled_for_upload()); 1359 EXPECT_EQ(1 + 1, occluded.overdraw_metrics()->tiles_culled_for_upload());
1362 } 1360 }
1363 1361
1364 TEST_F(TiledLayerTest, VisibleContentOpaqueRegion) { 1362 TEST_F(TiledLayerTest, VisibleContentOpaqueRegion) {
1365 scoped_refptr<FakeTiledLayer> layer = 1363 scoped_refptr<FakeTiledLayer> layer =
1366 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 1364 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
1367 TestOcclusionTracker occluded; 1365 TestOcclusionTracker occluded;
1368 occlusion_ = &occluded; 1366 occlusion_ = &occluded;
1369 layer_tree_host_->SetViewportSize(gfx::Size(1000, 1000), 1367 layer_tree_host_->SetViewportSize(gfx::Size(1000, 1000));
1370 gfx::Size(1000, 1000));
1371 1368
1372 // The tile size is 100x100, so this invalidates and then paints two tiles in 1369 // The tile size is 100x100, so this invalidates and then paints two tiles in
1373 // various ways. 1370 // various ways.
1374 1371
1375 gfx::Rect opaque_paint_rect; 1372 gfx::Rect opaque_paint_rect;
1376 Region opaque_contents; 1373 Region opaque_contents;
1377 1374
1378 gfx::Rect content_bounds = gfx::Rect(0, 0, 100, 200); 1375 gfx::Rect content_bounds = gfx::Rect(0, 0, 100, 200);
1379 gfx::Rect visible_bounds = gfx::Rect(0, 0, 100, 150); 1376 gfx::Rect visible_bounds = gfx::Rect(0, 0, 100, 150);
1380 1377
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
1475 20000 + 20000 - 17100 + 1 + 1, 1472 20000 + 20000 - 17100 + 1 + 1,
1476 1); 1473 1);
1477 EXPECT_EQ(0, occluded.overdraw_metrics()->tiles_culled_for_upload()); 1474 EXPECT_EQ(0, occluded.overdraw_metrics()->tiles_culled_for_upload());
1478 } 1475 }
1479 1476
1480 TEST_F(TiledLayerTest, Pixels_paintedMetrics) { 1477 TEST_F(TiledLayerTest, Pixels_paintedMetrics) {
1481 scoped_refptr<FakeTiledLayer> layer = 1478 scoped_refptr<FakeTiledLayer> layer =
1482 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 1479 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
1483 TestOcclusionTracker occluded; 1480 TestOcclusionTracker occluded;
1484 occlusion_ = &occluded; 1481 occlusion_ = &occluded;
1485 layer_tree_host_->SetViewportSize(gfx::Size(1000, 1000), 1482 layer_tree_host_->SetViewportSize(gfx::Size(1000, 1000));
1486 gfx::Size(1000, 1000));
1487 1483
1488 // The tile size is 100x100, so this invalidates and then paints two tiles in 1484 // The tile size is 100x100, so this invalidates and then paints two tiles in
1489 // various ways. 1485 // various ways.
1490 1486
1491 gfx::Rect opaque_paint_rect; 1487 gfx::Rect opaque_paint_rect;
1492 Region opaque_contents; 1488 Region opaque_contents;
1493 1489
1494 gfx::Rect content_bounds = gfx::Rect(0, 0, 100, 300); 1490 gfx::Rect content_bounds = gfx::Rect(0, 0, 100, 300);
1495 layer->SetBounds(content_bounds.size()); 1491 layer->SetBounds(content_bounds.size());
1496 CalcDrawProps(layer); 1492 CalcDrawProps(layer);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1568 child->draw_properties().visible_content_rect = child_rect; 1564 child->draw_properties().visible_content_rect = child_rect;
1569 child->draw_properties().drawable_content_rect = root_rect; 1565 child->draw_properties().drawable_content_rect = root_rect;
1570 1566
1571 child2->SetBounds(child2_rect.size()); 1567 child2->SetBounds(child2_rect.size());
1572 child2->SetAnchorPoint(gfx::PointF()); 1568 child2->SetAnchorPoint(gfx::PointF());
1573 child2->SetPosition(child2_rect.origin()); 1569 child2->SetPosition(child2_rect.origin());
1574 child2->draw_properties().visible_content_rect = child2_rect; 1570 child2->draw_properties().visible_content_rect = child2_rect;
1575 child2->draw_properties().drawable_content_rect = root_rect; 1571 child2->draw_properties().drawable_content_rect = root_rect;
1576 1572
1577 layer_tree_host_->SetRootLayer(root); 1573 layer_tree_host_->SetRootLayer(root);
1578 layer_tree_host_->SetViewportSize(root_rect.size(), root_rect.size()); 1574 layer_tree_host_->SetViewportSize(root_rect.size());
1579 1575
1580 // With a huge memory limit, all layers should update and push their textures. 1576 // With a huge memory limit, all layers should update and push their textures.
1581 root->InvalidateContentRect(root_rect); 1577 root->InvalidateContentRect(root_rect);
1582 child->InvalidateContentRect(child_rect); 1578 child->InvalidateContentRect(child_rect);
1583 child2->InvalidateContentRect(child2_rect); 1579 child2->InvalidateContentRect(child2_rect);
1584 layer_tree_host_->UpdateLayers(queue_.get(), 1580 layer_tree_host_->UpdateLayers(queue_.get(),
1585 std::numeric_limits<size_t>::max()); 1581 std::numeric_limits<size_t>::max());
1586 { 1582 {
1587 UpdateTextures(); 1583 UpdateTextures();
1588 EXPECT_EQ(6, root->fake_layer_updater()->update_count()); 1584 EXPECT_EQ(6, root->fake_layer_updater()->update_count());
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
1799 // Invalidate the entire layer in layer space. When painting, the rect given 1795 // Invalidate the entire layer in layer space. When painting, the rect given
1800 // to webkit should match the layer's bounds. 1796 // to webkit should match the layer's bounds.
1801 layer->SetNeedsDisplayRect(layer_rect); 1797 layer->SetNeedsDisplayRect(layer_rect);
1802 layer->Update(queue_.get(), 0, NULL); 1798 layer->Update(queue_.get(), 0, NULL);
1803 1799
1804 EXPECT_RECT_EQ(layer_rect, layer->tracking_layer_painter()->PaintedRect()); 1800 EXPECT_RECT_EQ(layer_rect, layer->tracking_layer_painter()->PaintedRect());
1805 } 1801 }
1806 1802
1807 } // namespace 1803 } // namespace
1808 } // namespace cc 1804 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/texture_layer_unittest.cc ('k') | cc/test/layer_tree_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698