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

Side by Side Diff: Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp

Issue 10690121: Merge 121076 - [chromium] LayerRendererChromium is not getting visibility messages in single thread… (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1180/
Patch Set: Created 8 years, 5 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 | « Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 805 matching lines...) Expand 10 before | Expand all | Expand 10 after
816 rootLayer->setPosition(FloatPoint(150, 150)); 816 rootLayer->setPosition(FloatPoint(150, 150));
817 childLayer->setBounds(contentBounds); 817 childLayer->setBounds(contentBounds);
818 childLayer->setPosition(FloatPoint(150, 150)); 818 childLayer->setPosition(FloatPoint(150, 150));
819 rootLayer->invalidateRect(contentRect); 819 rootLayer->invalidateRect(contentRect);
820 childLayer->invalidateRect(contentRect); 820 childLayer->invalidateRect(contentRect);
821 821
822 CCTextureUpdater updater; 822 CCTextureUpdater updater;
823 823
824 ccLayerTreeHost->setRootLayer(rootLayer); 824 ccLayerTreeHost->setRootLayer(rootLayer);
825 ccLayerTreeHost->setViewportSize(IntSize(300, 300)); 825 ccLayerTreeHost->setViewportSize(IntSize(300, 300));
826 textureManager->setMaxMemoryLimitBytes(memoryLimit); 826 ccLayerTreeHost->updateLayers(updater, memoryLimit);
827 ccLayerTreeHost->updateLayers(updater);
828 827
829 // We'll skip the root layer. 828 // We'll skip the root layer.
830 EXPECT_TRUE(rootLayer->skipsDraw()); 829 EXPECT_TRUE(rootLayer->skipsDraw());
831 EXPECT_FALSE(childLayer->skipsDraw()); 830 EXPECT_FALSE(childLayer->skipsDraw());
832 831
833 ccLayerTreeHost->commitComplete(); 832 ccLayerTreeHost->commitComplete();
834 textureManager->unprotectAllTextures(); // CCLayerTreeHost::commitComplete() normally does this, but since we're mocking out the manager we have to do it. 833 textureManager->unprotectAllTextures(); // CCLayerTreeHost::commitComplete() normally does this, but since we're mocking out the manager we have to do it.
835 834
836 // Remove the child layer. 835 // Remove the child layer.
837 rootLayer->removeAllChildren(); 836 rootLayer->removeAllChildren();
838 837
839 ccLayerTreeHost->updateLayers(updater); 838 ccLayerTreeHost->updateLayers(updater, memoryLimit);
840 EXPECT_FALSE(rootLayer->skipsDraw()); 839 EXPECT_FALSE(rootLayer->skipsDraw());
841 840
842 ccLayerTreeHost->setRootLayer(0); 841 ccLayerTreeHost->setRootLayer(0);
843 ccLayerTreeHost.clear(); 842 ccLayerTreeHost.clear();
844 WebKit::WebCompositor::shutdown(); 843 WebKit::WebCompositor::shutdown();
845 } 844 }
846 845
847 TEST(TiledLayerChromiumTest, resizeToSmaller) 846 TEST(TiledLayerChromiumTest, resizeToSmaller)
848 { 847 {
849 OwnPtr<TextureManager> textureManager = TextureManager::create(60*1024*1024, 60*1024*1024, 1024); 848 OwnPtr<TextureManager> textureManager = TextureManager::create(60*1024*1024, 60*1024*1024, 1024);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
896 895
897 CCTextureUpdater updater; 896 CCTextureUpdater updater;
898 FakeTextureAllocator allocator; 897 FakeTextureAllocator allocator;
899 FakeTextureCopier copier; 898 FakeTextureCopier copier;
900 FakeTextureUploader uploader; 899 FakeTextureUploader uploader;
901 900
902 ccLayerTreeHost->setRootLayer(layer); 901 ccLayerTreeHost->setRootLayer(layer);
903 ccLayerTreeHost->setViewportSize(IntSize(300, 200)); 902 ccLayerTreeHost->setViewportSize(IntSize(300, 200));
904 903
905 // Full update of all 6 tiles. 904 // Full update of all 6 tiles.
906 ccLayerTreeHost->updateLayers(updater); 905 ccLayerTreeHost->updateLayers(updater, std::numeric_limits<size_t>::max());
907 { 906 {
908 DebugScopedSetImplThread implThread; 907 DebugScopedSetImplThread implThread;
909 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0))); 908 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0)));
910 updater.update(0, &allocator, &copier, &uploader, 4); 909 updater.update(0, &allocator, &copier, &uploader, 4);
911 EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount()); 910 EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
912 EXPECT_TRUE(updater.hasMoreUpdates()); 911 EXPECT_TRUE(updater.hasMoreUpdates());
913 layer->fakeLayerTextureUpdater()->clearUpdateCount(); 912 layer->fakeLayerTextureUpdater()->clearUpdateCount();
914 updater.update(0, &allocator, &copier, &uploader, 4); 913 updater.update(0, &allocator, &copier, &uploader, 4);
915 EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount()); 914 EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount());
916 EXPECT_FALSE(updater.hasMoreUpdates()); 915 EXPECT_FALSE(updater.hasMoreUpdates());
917 layer->fakeLayerTextureUpdater()->clearUpdateCount(); 916 layer->fakeLayerTextureUpdater()->clearUpdateCount();
918 layer->pushPropertiesTo(layerImpl.get()); 917 layer->pushPropertiesTo(layerImpl.get());
919 } 918 }
920 ccLayerTreeHost->commitComplete(); 919 ccLayerTreeHost->commitComplete();
921 920
922 // Full update of 3 tiles and partial update of 3 tiles. 921 // Full update of 3 tiles and partial update of 3 tiles.
923 layer->invalidateRect(IntRect(0, 0, 300, 150)); 922 layer->invalidateRect(IntRect(0, 0, 300, 150));
924 ccLayerTreeHost->updateLayers(updater); 923 ccLayerTreeHost->updateLayers(updater, std::numeric_limits<size_t>::max());
925 { 924 {
926 DebugScopedSetImplThread implThread; 925 DebugScopedSetImplThread implThread;
927 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0))); 926 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0)));
928 updater.update(0, &allocator, &copier, &uploader, 4); 927 updater.update(0, &allocator, &copier, &uploader, 4);
929 EXPECT_EQ(3, layer->fakeLayerTextureUpdater()->updateCount()); 928 EXPECT_EQ(3, layer->fakeLayerTextureUpdater()->updateCount());
930 EXPECT_TRUE(updater.hasMoreUpdates()); 929 EXPECT_TRUE(updater.hasMoreUpdates());
931 layer->fakeLayerTextureUpdater()->clearUpdateCount(); 930 layer->fakeLayerTextureUpdater()->clearUpdateCount();
932 updater.update(0, &allocator, &copier, &uploader, 4); 931 updater.update(0, &allocator, &copier, &uploader, 4);
933 EXPECT_EQ(3, layer->fakeLayerTextureUpdater()->updateCount()); 932 EXPECT_EQ(3, layer->fakeLayerTextureUpdater()->updateCount());
934 EXPECT_FALSE(updater.hasMoreUpdates()); 933 EXPECT_FALSE(updater.hasMoreUpdates());
935 layer->fakeLayerTextureUpdater()->clearUpdateCount(); 934 layer->fakeLayerTextureUpdater()->clearUpdateCount();
936 layer->pushPropertiesTo(layerImpl.get()); 935 layer->pushPropertiesTo(layerImpl.get());
937 } 936 }
938 ccLayerTreeHost->commitComplete(); 937 ccLayerTreeHost->commitComplete();
939 938
940 // Partial update of 6 tiles. 939 // Partial update of 6 tiles.
941 layer->invalidateRect(IntRect(50, 50, 200, 100)); 940 layer->invalidateRect(IntRect(50, 50, 200, 100));
942 { 941 {
943 DebugScopedSetImplThread implThread; 942 DebugScopedSetImplThread implThread;
944 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0))); 943 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0)));
945 ccLayerTreeHost->updateLayers(updater); 944 ccLayerTreeHost->updateLayers(updater, std::numeric_limits<size_t>::max( ));
946 updater.update(0, &allocator, &copier, &uploader, 4); 945 updater.update(0, &allocator, &copier, &uploader, 4);
947 EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount()); 946 EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount());
948 EXPECT_TRUE(updater.hasMoreUpdates()); 947 EXPECT_TRUE(updater.hasMoreUpdates());
949 layer->fakeLayerTextureUpdater()->clearUpdateCount(); 948 layer->fakeLayerTextureUpdater()->clearUpdateCount();
950 updater.update(0, &allocator, &copier, &uploader, 4); 949 updater.update(0, &allocator, &copier, &uploader, 4);
951 EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount()); 950 EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
952 EXPECT_FALSE(updater.hasMoreUpdates()); 951 EXPECT_FALSE(updater.hasMoreUpdates());
953 layer->fakeLayerTextureUpdater()->clearUpdateCount(); 952 layer->fakeLayerTextureUpdater()->clearUpdateCount();
954 layer->pushPropertiesTo(layerImpl.get()); 953 layer->pushPropertiesTo(layerImpl.get());
955 } 954 }
956 ccLayerTreeHost->commitComplete(); 955 ccLayerTreeHost->commitComplete();
957 956
958 // Checkerboard all tiles. 957 // Checkerboard all tiles.
959 layer->invalidateRect(IntRect(0, 0, 300, 200)); 958 layer->invalidateRect(IntRect(0, 0, 300, 200));
960 { 959 {
961 DebugScopedSetImplThread implThread; 960 DebugScopedSetImplThread implThread;
962 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0))); 961 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0)));
963 layer->pushPropertiesTo(layerImpl.get()); 962 layer->pushPropertiesTo(layerImpl.get());
964 } 963 }
965 ccLayerTreeHost->commitComplete(); 964 ccLayerTreeHost->commitComplete();
966 965
967 // Partial update of 6 checkerboard tiles. 966 // Partial update of 6 checkerboard tiles.
968 layer->invalidateRect(IntRect(50, 50, 200, 100)); 967 layer->invalidateRect(IntRect(50, 50, 200, 100));
969 { 968 {
970 DebugScopedSetImplThread implThread; 969 DebugScopedSetImplThread implThread;
971 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0))); 970 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0)));
972 ccLayerTreeHost->updateLayers(updater); 971 ccLayerTreeHost->updateLayers(updater, std::numeric_limits<size_t>::max( ));
973 updater.update(0, &allocator, &copier, &uploader, 4); 972 updater.update(0, &allocator, &copier, &uploader, 4);
974 EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount()); 973 EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
975 EXPECT_TRUE(updater.hasMoreUpdates()); 974 EXPECT_TRUE(updater.hasMoreUpdates());
976 layer->fakeLayerTextureUpdater()->clearUpdateCount(); 975 layer->fakeLayerTextureUpdater()->clearUpdateCount();
977 updater.update(0, &allocator, &copier, &uploader, 4); 976 updater.update(0, &allocator, &copier, &uploader, 4);
978 EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount()); 977 EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount());
979 EXPECT_FALSE(updater.hasMoreUpdates()); 978 EXPECT_FALSE(updater.hasMoreUpdates());
980 layer->fakeLayerTextureUpdater()->clearUpdateCount(); 979 layer->fakeLayerTextureUpdater()->clearUpdateCount();
981 layer->pushPropertiesTo(layerImpl.get()); 980 layer->pushPropertiesTo(layerImpl.get());
982 } 981 }
983 ccLayerTreeHost->commitComplete(); 982 ccLayerTreeHost->commitComplete();
984 983
985 // Partial update of 4 tiles. 984 // Partial update of 4 tiles.
986 layer->invalidateRect(IntRect(50, 50, 100, 100)); 985 layer->invalidateRect(IntRect(50, 50, 100, 100));
987 { 986 {
988 DebugScopedSetImplThread implThread; 987 DebugScopedSetImplThread implThread;
989 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0))); 988 OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl (0)));
990 ccLayerTreeHost->updateLayers(updater); 989 ccLayerTreeHost->updateLayers(updater, std::numeric_limits<size_t>::max( ));
991 updater.update(0, &allocator, &copier, &uploader, 4); 990 updater.update(0, &allocator, &copier, &uploader, 4);
992 EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount()); 991 EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
993 EXPECT_FALSE(updater.hasMoreUpdates()); 992 EXPECT_FALSE(updater.hasMoreUpdates());
994 layer->fakeLayerTextureUpdater()->clearUpdateCount(); 993 layer->fakeLayerTextureUpdater()->clearUpdateCount();
995 layer->pushPropertiesTo(layerImpl.get()); 994 layer->pushPropertiesTo(layerImpl.get());
996 } 995 }
997 ccLayerTreeHost->commitComplete(); 996 ccLayerTreeHost->commitComplete();
998 997
999 ccLayerTreeHost->setRootLayer(0); 998 ccLayerTreeHost->setRootLayer(0);
1000 ccLayerTreeHost.clear(); 999 ccLayerTreeHost.clear();
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
1372 1371
1373 // The middle tile was painted even though not invalidated. 1372 // The middle tile was painted even though not invalidated.
1374 EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 30000 + 60 * 210, 1) ; 1373 EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 30000 + 60 * 210, 1) ;
1375 // The pixels uploaded will not include the non-invalidated tile in the midd le. 1374 // The pixels uploaded will not include the non-invalidated tile in the midd le.
1376 EXPECT_NEAR(occluded.overdrawMetrics().pixelsUploadedOpaque(), 0, 1); 1375 EXPECT_NEAR(occluded.overdrawMetrics().pixelsUploadedOpaque(), 0, 1);
1377 EXPECT_NEAR(occluded.overdrawMetrics().pixelsUploadedTranslucent(), 30000 + 1 + 100, 1); 1376 EXPECT_NEAR(occluded.overdrawMetrics().pixelsUploadedTranslucent(), 30000 + 1 + 100, 1);
1378 EXPECT_EQ(0, occluded.overdrawMetrics().tilesCulledForUpload()); 1377 EXPECT_EQ(0, occluded.overdrawMetrics().tilesCulledForUpload());
1379 } 1378 }
1380 1379
1381 } // namespace 1380 } // namespace
OLDNEW
« no previous file with comments | « Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698