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

Side by Side Diff: cc/trees/layer_tree_host_unittest_context.cc

Issue 1028333002: Chromium -> Mojo roll. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 9 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/trees/layer_tree_host.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "cc/layers/content_layer.h" 8 #include "cc/layers/content_layer.h"
9 #include "cc/layers/delegated_frame_provider.h" 9 #include "cc/layers/delegated_frame_provider.h"
10 #include "cc/layers/delegated_frame_resource_collection.h" 10 #include "cc/layers/delegated_frame_resource_collection.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 return FakeOutputSurface::Create3d(context3d.Pass()); 96 return FakeOutputSurface::Create3d(context3d.Pass());
97 } 97 }
98 98
99 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, 99 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
100 LayerTreeHostImpl::FrameData* frame, 100 LayerTreeHostImpl::FrameData* frame,
101 DrawResult draw_result) override { 101 DrawResult draw_result) override {
102 if (draw_result == DRAW_ABORTED_MISSING_HIGH_RES_CONTENT) { 102 if (draw_result == DRAW_ABORTED_MISSING_HIGH_RES_CONTENT) {
103 // Only valid for single-threaded impl-side painting, which activates 103 // Only valid for single-threaded impl-side painting, which activates
104 // immediately and will try to draw again when content has finished. 104 // immediately and will try to draw again when content has finished.
105 DCHECK(!host_impl->proxy()->HasImplThread()); 105 DCHECK(!host_impl->proxy()->HasImplThread());
106 DCHECK(layer_tree_host()->settings().impl_side_painting); 106 DCHECK(host_impl->settings().impl_side_painting);
107 return draw_result; 107 return draw_result;
108 } 108 }
109 EXPECT_EQ(DRAW_SUCCESS, draw_result); 109 EXPECT_EQ(DRAW_SUCCESS, draw_result);
110 if (!times_to_lose_during_draw_) 110 if (!times_to_lose_during_draw_)
111 return draw_result; 111 return draw_result;
112 112
113 --times_to_lose_during_draw_; 113 --times_to_lose_during_draw_;
114 LoseContext(); 114 LoseContext();
115 115
116 times_to_fail_create_ = times_to_fail_recreate_; 116 times_to_fail_create_ = times_to_fail_recreate_;
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after
869 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { 869 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override {
870 LayerTreeHostContextTest::DidActivateTreeOnThread(host_impl); 870 LayerTreeHostContextTest::DidActivateTreeOnThread(host_impl);
871 871
872 FakePictureLayerImpl* root_picture = NULL; 872 FakePictureLayerImpl* root_picture = NULL;
873 FakePictureLayerImpl* child_picture = NULL; 873 FakePictureLayerImpl* child_picture = NULL;
874 FakePictureLayerImpl* grandchild_picture = NULL; 874 FakePictureLayerImpl* grandchild_picture = NULL;
875 FakeContentLayerImpl* root_content = NULL; 875 FakeContentLayerImpl* root_content = NULL;
876 FakeContentLayerImpl* child_content = NULL; 876 FakeContentLayerImpl* child_content = NULL;
877 FakeContentLayerImpl* grandchild_content = NULL; 877 FakeContentLayerImpl* grandchild_content = NULL;
878 878
879 if (layer_tree_host()->settings().impl_side_painting) { 879 if (host_impl->settings().impl_side_painting) {
880 root_picture = static_cast<FakePictureLayerImpl*>( 880 root_picture = static_cast<FakePictureLayerImpl*>(
881 host_impl->active_tree()->root_layer()); 881 host_impl->active_tree()->root_layer());
882 child_picture = 882 child_picture =
883 static_cast<FakePictureLayerImpl*>(root_picture->children()[0]); 883 static_cast<FakePictureLayerImpl*>(root_picture->children()[0]);
884 grandchild_picture = 884 grandchild_picture =
885 static_cast<FakePictureLayerImpl*>(child_picture->children()[0]); 885 static_cast<FakePictureLayerImpl*>(child_picture->children()[0]);
886 886
887 } else { 887 } else {
888 root_content = static_cast<FakeContentLayerImpl*>( 888 root_content = static_cast<FakeContentLayerImpl*>(
889 host_impl->active_tree()->root_layer()); 889 host_impl->active_tree()->root_layer());
890 child_content = 890 child_content =
891 static_cast<FakeContentLayerImpl*>(root_content->children()[0]); 891 static_cast<FakeContentLayerImpl*>(root_content->children()[0]);
892 grandchild_content = 892 grandchild_content =
893 static_cast<FakeContentLayerImpl*>(child_content->children()[0]); 893 static_cast<FakeContentLayerImpl*>(child_content->children()[0]);
894 } 894 }
895 895
896 ++num_commits_; 896 ++num_commits_;
897 switch (num_commits_) { 897 switch (num_commits_) {
898 case 1: 898 case 1:
899 if (layer_tree_host()->settings().impl_side_painting) { 899 if (host_impl->settings().impl_side_painting) {
900 EXPECT_EQ(0u, root_picture->release_resources_count()); 900 EXPECT_EQ(0u, root_picture->release_resources_count());
901 EXPECT_EQ(0u, child_picture->release_resources_count()); 901 EXPECT_EQ(0u, child_picture->release_resources_count());
902 EXPECT_EQ(0u, grandchild_picture->release_resources_count()); 902 EXPECT_EQ(0u, grandchild_picture->release_resources_count());
903 } else { 903 } else {
904 EXPECT_EQ(0u, root_content->lost_output_surface_count()); 904 EXPECT_EQ(0u, root_content->lost_output_surface_count());
905 EXPECT_EQ(0u, child_content->lost_output_surface_count()); 905 EXPECT_EQ(0u, child_content->lost_output_surface_count());
906 EXPECT_EQ(0u, grandchild_content->lost_output_surface_count()); 906 EXPECT_EQ(0u, grandchild_content->lost_output_surface_count());
907 } 907 }
908 908
909 // Lose the context and struggle to recreate it. 909 // Lose the context and struggle to recreate it.
910 LoseContext(); 910 LoseContext();
911 times_to_fail_create_ = 1; 911 times_to_fail_create_ = 1;
912 break; 912 break;
913 case 2: 913 case 2:
914 if (layer_tree_host()->settings().impl_side_painting) { 914 if (host_impl->settings().impl_side_painting) {
915 EXPECT_TRUE(root_picture->release_resources_count()); 915 EXPECT_TRUE(root_picture->release_resources_count());
916 EXPECT_TRUE(child_picture->release_resources_count()); 916 EXPECT_TRUE(child_picture->release_resources_count());
917 EXPECT_TRUE(grandchild_picture->release_resources_count()); 917 EXPECT_TRUE(grandchild_picture->release_resources_count());
918 } else { 918 } else {
919 EXPECT_TRUE(root_content->lost_output_surface_count()); 919 EXPECT_TRUE(root_content->lost_output_surface_count());
920 EXPECT_TRUE(child_content->lost_output_surface_count()); 920 EXPECT_TRUE(child_content->lost_output_surface_count());
921 EXPECT_TRUE(grandchild_content->lost_output_surface_count()); 921 EXPECT_TRUE(grandchild_content->lost_output_surface_count());
922 } 922 }
923 923
924 EndTest(); 924 EndTest();
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
1262 } 1262 }
1263 }; 1263 };
1264 1264
1265 class UIResourceLostTestSimple : public UIResourceLostTest { 1265 class UIResourceLostTestSimple : public UIResourceLostTest {
1266 public: 1266 public:
1267 // This is called when the commit is complete and the new layer tree has been 1267 // This is called when the commit is complete and the new layer tree has been
1268 // activated. 1268 // activated.
1269 virtual void StepCompleteOnImplThread(LayerTreeHostImpl* impl) = 0; 1269 virtual void StepCompleteOnImplThread(LayerTreeHostImpl* impl) = 0;
1270 1270
1271 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { 1271 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override {
1272 if (!layer_tree_host()->settings().impl_side_painting) { 1272 if (!impl->settings().impl_side_painting) {
1273 StepCompleteOnImplThread(impl); 1273 StepCompleteOnImplThread(impl);
1274 PostStepCompleteToMainThread(); 1274 PostStepCompleteToMainThread();
1275 ++time_step_; 1275 ++time_step_;
1276 } 1276 }
1277 } 1277 }
1278 1278
1279 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { 1279 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override {
1280 if (layer_tree_host()->settings().impl_side_painting) { 1280 if (impl->settings().impl_side_painting) {
1281 StepCompleteOnImplThread(impl); 1281 StepCompleteOnImplThread(impl);
1282 PostStepCompleteToMainThread(); 1282 PostStepCompleteToMainThread();
1283 ++time_step_; 1283 ++time_step_;
1284 } 1284 }
1285 } 1285 }
1286 }; 1286 };
1287 1287
1288 // Losing context after an UI resource has been created. 1288 // Losing context after an UI resource has been created.
1289 class UIResourceLostAfterCommit : public UIResourceLostTestSimple { 1289 class UIResourceLostAfterCommit : public UIResourceLostTestSimple {
1290 public: 1290 public:
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
1734 void AfterTest() override {} 1734 void AfterTest() override {}
1735 1735
1736 bool deferred_; 1736 bool deferred_;
1737 }; 1737 };
1738 1738
1739 SINGLE_AND_MULTI_THREAD_TEST_F( 1739 SINGLE_AND_MULTI_THREAD_TEST_F(
1740 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); 1740 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame);
1741 1741
1742 } // namespace 1742 } // namespace
1743 } // namespace cc 1743 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_unittest.cc ('k') | cc/trees/layer_tree_host_unittest_no_message_loop.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698