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

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

Issue 13316003: Revert 191364 "cc: Add ‘chromium_code’: 1 to cc.gyp and cc_t..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: 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 | Annotate | Revision Log
« no previous file with comments | « trunk/src/cc/layers/tiled_layer_impl.cc ('k') | trunk/src/cc/layers/video_layer_impl.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 560 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 // Create a LayerTreeHost that has the right viewportsize, 571 // Create a LayerTreeHost that has the right viewportsize,
572 // so the layer is considered small enough. 572 // so the layer is considered small enough.
573 bool run_out_of_memory[2] = { false, true }; 573 bool run_out_of_memory[2] = { false, true };
574 for (int i = 0; i < 2; i++) { 574 for (int i = 0; i < 2; i++) {
575 // Create a layer with 5x5 tiles, with 4x4 size viewport. 575 // Create a layer with 5x5 tiles, with 4x4 size viewport.
576 int viewport_width = 4 * FakeTiledLayer::tile_size().width(); 576 int viewport_width = 4 * FakeTiledLayer::tile_size().width();
577 int viewport_height = 4 * FakeTiledLayer::tile_size().width(); 577 int viewport_height = 4 * FakeTiledLayer::tile_size().width();
578 int layer_width = 5 * FakeTiledLayer::tile_size().width(); 578 int layer_width = 5 * FakeTiledLayer::tile_size().width();
579 int layer_height = 5 * FakeTiledLayer::tile_size().height(); 579 int layer_height = 5 * FakeTiledLayer::tile_size().height();
580 int memory_for_layer = layer_width * layer_height * 4; 580 int memory_for_layer = layer_width * layer_height * 4;
581 layer_tree_host_->SetViewportSize( 581 layer_tree_host_->SetViewportSize(gfx::Size(layer_width, layer_height),
582 gfx::Size(viewport_width, viewport_height), 582 gfx::Size(layer_width, layer_height));
583 gfx::Size(viewport_width, viewport_height));
584 583
585 // Use 10x5 tiles to run out of memory. 584 // Use 10x5 tiles to run out of memory.
586 if (run_out_of_memory[i]) 585 if (run_out_of_memory[i])
587 layer_width *= 2; 586 layer_width *= 2;
588 587
589 resource_manager_->SetMaxMemoryLimitBytes(memory_for_layer); 588 resource_manager_->SetMaxMemoryLimitBytes(memory_for_layer);
590 589
591 scoped_refptr<FakeTiledLayer> layer = 590 scoped_refptr<FakeTiledLayer> layer =
592 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get())); 591 make_scoped_refptr(new FakeTiledLayer(resource_manager_.get()));
593 scoped_ptr<FakeTiledLayerImpl> layer_impl = 592 scoped_ptr<FakeTiledLayerImpl> layer_impl =
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
952 951
953 layer_tree_host_->SetRootLayer(layer); 952 layer_tree_host_->SetRootLayer(layer);
954 layer_tree_host_->SetViewportSize(gfx::Size(300, 200), gfx::Size(300, 200)); 953 layer_tree_host_->SetViewportSize(gfx::Size(300, 200), gfx::Size(300, 200));
955 954
956 // Full update of all 6 tiles. 955 // Full update of all 6 tiles.
957 layer_tree_host_->UpdateLayers(queue_.get(), 956 layer_tree_host_->UpdateLayers(queue_.get(),
958 std::numeric_limits<size_t>::max()); 957 std::numeric_limits<size_t>::max());
959 { 958 {
960 scoped_ptr<FakeTiledLayerImpl> layer_impl = 959 scoped_ptr<FakeTiledLayerImpl> layer_impl =
961 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1)); 960 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1));
962 EXPECT_EQ(6u, queue_->FullUploadSize()); 961 EXPECT_EQ(6, queue_->FullUploadSize());
963 EXPECT_EQ(0u, queue_->PartialUploadSize()); 962 EXPECT_EQ(0, queue_->PartialUploadSize());
964 UpdateTextures(); 963 UpdateTextures();
965 EXPECT_EQ(6, layer->fake_layer_updater()->update_count()); 964 EXPECT_EQ(6, layer->fake_layer_updater()->update_count());
966 EXPECT_FALSE(queue_->HasMoreUpdates()); 965 EXPECT_FALSE(queue_->HasMoreUpdates());
967 layer->fake_layer_updater()->ClearUpdateCount(); 966 layer->fake_layer_updater()->ClearUpdateCount();
968 LayerPushPropertiesTo(layer.get(), layer_impl.get()); 967 LayerPushPropertiesTo(layer.get(), layer_impl.get());
969 } 968 }
970 layer_tree_host_->CommitComplete(); 969 layer_tree_host_->CommitComplete();
971 970
972 // Full update of 3 tiles and partial update of 3 tiles. 971 // Full update of 3 tiles and partial update of 3 tiles.
973 layer->InvalidateContentRect(gfx::Rect(0, 0, 300, 150)); 972 layer->InvalidateContentRect(gfx::Rect(0, 0, 300, 150));
974 layer_tree_host_->UpdateLayers(queue_.get(), 973 layer_tree_host_->UpdateLayers(queue_.get(),
975 std::numeric_limits<size_t>::max()); 974 std::numeric_limits<size_t>::max());
976 { 975 {
977 scoped_ptr<FakeTiledLayerImpl> layer_impl = 976 scoped_ptr<FakeTiledLayerImpl> layer_impl =
978 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1)); 977 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1));
979 EXPECT_EQ(3u, queue_->FullUploadSize()); 978 EXPECT_EQ(3, queue_->FullUploadSize());
980 EXPECT_EQ(3u, queue_->PartialUploadSize()); 979 EXPECT_EQ(3, queue_->PartialUploadSize());
981 UpdateTextures(); 980 UpdateTextures();
982 EXPECT_EQ(6, layer->fake_layer_updater()->update_count()); 981 EXPECT_EQ(6, layer->fake_layer_updater()->update_count());
983 EXPECT_FALSE(queue_->HasMoreUpdates()); 982 EXPECT_FALSE(queue_->HasMoreUpdates());
984 layer->fake_layer_updater()->ClearUpdateCount(); 983 layer->fake_layer_updater()->ClearUpdateCount();
985 LayerPushPropertiesTo(layer.get(), layer_impl.get()); 984 LayerPushPropertiesTo(layer.get(), layer_impl.get());
986 } 985 }
987 layer_tree_host_->CommitComplete(); 986 layer_tree_host_->CommitComplete();
988 987
989 // Partial update of 6 tiles. 988 // Partial update of 6 tiles.
990 layer->InvalidateContentRect(gfx::Rect(50, 50, 200, 100)); 989 layer->InvalidateContentRect(gfx::Rect(50, 50, 200, 100));
991 { 990 {
992 scoped_ptr<FakeTiledLayerImpl> layer_impl = 991 scoped_ptr<FakeTiledLayerImpl> layer_impl =
993 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1)); 992 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1));
994 layer_tree_host_->UpdateLayers(queue_.get(), 993 layer_tree_host_->UpdateLayers(queue_.get(),
995 std::numeric_limits<size_t>::max()); 994 std::numeric_limits<size_t>::max());
996 EXPECT_EQ(2u, queue_->FullUploadSize()); 995 EXPECT_EQ(2, queue_->FullUploadSize());
997 EXPECT_EQ(4u, queue_->PartialUploadSize()); 996 EXPECT_EQ(4, queue_->PartialUploadSize());
998 UpdateTextures(); 997 UpdateTextures();
999 EXPECT_EQ(6, layer->fake_layer_updater()->update_count()); 998 EXPECT_EQ(6, layer->fake_layer_updater()->update_count());
1000 EXPECT_FALSE(queue_->HasMoreUpdates()); 999 EXPECT_FALSE(queue_->HasMoreUpdates());
1001 layer->fake_layer_updater()->ClearUpdateCount(); 1000 layer->fake_layer_updater()->ClearUpdateCount();
1002 LayerPushPropertiesTo(layer.get(), layer_impl.get()); 1001 LayerPushPropertiesTo(layer.get(), layer_impl.get());
1003 } 1002 }
1004 layer_tree_host_->CommitComplete(); 1003 layer_tree_host_->CommitComplete();
1005 1004
1006 // Checkerboard all tiles. 1005 // Checkerboard all tiles.
1007 layer->InvalidateContentRect(gfx::Rect(0, 0, 300, 200)); 1006 layer->InvalidateContentRect(gfx::Rect(0, 0, 300, 200));
1008 { 1007 {
1009 scoped_ptr<FakeTiledLayerImpl> layer_impl = 1008 scoped_ptr<FakeTiledLayerImpl> layer_impl =
1010 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1)); 1009 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1));
1011 LayerPushPropertiesTo(layer.get(), layer_impl.get()); 1010 LayerPushPropertiesTo(layer.get(), layer_impl.get());
1012 } 1011 }
1013 layer_tree_host_->CommitComplete(); 1012 layer_tree_host_->CommitComplete();
1014 1013
1015 // Partial update of 6 checkerboard tiles. 1014 // Partial update of 6 checkerboard tiles.
1016 layer->InvalidateContentRect(gfx::Rect(50, 50, 200, 100)); 1015 layer->InvalidateContentRect(gfx::Rect(50, 50, 200, 100));
1017 { 1016 {
1018 scoped_ptr<FakeTiledLayerImpl> layer_impl = 1017 scoped_ptr<FakeTiledLayerImpl> layer_impl =
1019 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1)); 1018 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1));
1020 layer_tree_host_->UpdateLayers(queue_.get(), 1019 layer_tree_host_->UpdateLayers(queue_.get(),
1021 std::numeric_limits<size_t>::max()); 1020 std::numeric_limits<size_t>::max());
1022 EXPECT_EQ(6u, queue_->FullUploadSize()); 1021 EXPECT_EQ(6, queue_->FullUploadSize());
1023 EXPECT_EQ(0u, queue_->PartialUploadSize()); 1022 EXPECT_EQ(0, queue_->PartialUploadSize());
1024 UpdateTextures(); 1023 UpdateTextures();
1025 EXPECT_EQ(6, layer->fake_layer_updater()->update_count()); 1024 EXPECT_EQ(6, layer->fake_layer_updater()->update_count());
1026 EXPECT_FALSE(queue_->HasMoreUpdates()); 1025 EXPECT_FALSE(queue_->HasMoreUpdates());
1027 layer->fake_layer_updater()->ClearUpdateCount(); 1026 layer->fake_layer_updater()->ClearUpdateCount();
1028 LayerPushPropertiesTo(layer.get(), layer_impl.get()); 1027 LayerPushPropertiesTo(layer.get(), layer_impl.get());
1029 } 1028 }
1030 layer_tree_host_->CommitComplete(); 1029 layer_tree_host_->CommitComplete();
1031 1030
1032 // Partial update of 4 tiles. 1031 // Partial update of 4 tiles.
1033 layer->InvalidateContentRect(gfx::Rect(50, 50, 100, 100)); 1032 layer->InvalidateContentRect(gfx::Rect(50, 50, 100, 100));
1034 { 1033 {
1035 scoped_ptr<FakeTiledLayerImpl> layer_impl = 1034 scoped_ptr<FakeTiledLayerImpl> layer_impl =
1036 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1)); 1035 make_scoped_ptr(new FakeTiledLayerImpl(host_impl_->active_tree(), 1));
1037 layer_tree_host_->UpdateLayers(queue_.get(), 1036 layer_tree_host_->UpdateLayers(queue_.get(),
1038 std::numeric_limits<size_t>::max()); 1037 std::numeric_limits<size_t>::max());
1039 EXPECT_EQ(0u, queue_->FullUploadSize()); 1038 EXPECT_EQ(0, queue_->FullUploadSize());
1040 EXPECT_EQ(4u, queue_->PartialUploadSize()); 1039 EXPECT_EQ(4, queue_->PartialUploadSize());
1041 UpdateTextures(); 1040 UpdateTextures();
1042 EXPECT_EQ(4, layer->fake_layer_updater()->update_count()); 1041 EXPECT_EQ(4, layer->fake_layer_updater()->update_count());
1043 EXPECT_FALSE(queue_->HasMoreUpdates()); 1042 EXPECT_FALSE(queue_->HasMoreUpdates());
1044 layer->fake_layer_updater()->ClearUpdateCount(); 1043 layer->fake_layer_updater()->ClearUpdateCount();
1045 LayerPushPropertiesTo(layer.get(), layer_impl.get()); 1044 LayerPushPropertiesTo(layer.get(), layer_impl.get());
1046 } 1045 }
1047 layer_tree_host_->CommitComplete(); 1046 layer_tree_host_->CommitComplete();
1048 1047
1049 ResourceManagerClearAllMemory(layer_tree_host_->contents_texture_manager(), 1048 ResourceManagerClearAllMemory(layer_tree_host_->contents_texture_manager(),
1050 resource_provider_.get()); 1049 resource_provider_.get());
(...skipping 748 matching lines...) Expand 10 before | Expand all | Expand 10 after
1799 // Invalidate the entire layer in layer space. When painting, the rect given 1798 // Invalidate the entire layer in layer space. When painting, the rect given
1800 // to webkit should match the layer's bounds. 1799 // to webkit should match the layer's bounds.
1801 layer->SetNeedsDisplayRect(layer_rect); 1800 layer->SetNeedsDisplayRect(layer_rect);
1802 layer->Update(queue_.get(), 0, NULL); 1801 layer->Update(queue_.get(), 0, NULL);
1803 1802
1804 EXPECT_RECT_EQ(layer_rect, layer->tracking_layer_painter()->PaintedRect()); 1803 EXPECT_RECT_EQ(layer_rect, layer->tracking_layer_painter()->PaintedRect());
1805 } 1804 }
1806 1805
1807 } // namespace 1806 } // namespace
1808 } // namespace cc 1807 } // namespace cc
OLDNEW
« no previous file with comments | « trunk/src/cc/layers/tiled_layer_impl.cc ('k') | trunk/src/cc/layers/video_layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698