OLD | NEW |
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/test/layer_tree_test.h" | 5 #include "cc/test/layer_tree_test.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/location.h" | 8 #include "base/location.h" |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 CompositorMode mode) | 493 CompositorMode mode) |
494 : LayerTreeHost(params, mode), | 494 : LayerTreeHost(params, mode), |
495 test_hooks_(test_hooks), | 495 test_hooks_(test_hooks), |
496 test_started_(false) {} | 496 test_started_(false) {} |
497 | 497 |
498 TestHooks* test_hooks_; | 498 TestHooks* test_hooks_; |
499 bool test_started_; | 499 bool test_started_; |
500 }; | 500 }; |
501 | 501 |
502 LayerTreeTest::LayerTreeTest() | 502 LayerTreeTest::LayerTreeTest() |
503 : output_surface_(nullptr), | 503 : external_begin_frame_source_(nullptr), |
504 external_begin_frame_source_(nullptr), | |
505 remote_proto_channel_bridge_(this), | 504 remote_proto_channel_bridge_(this), |
506 image_serialization_processor_( | 505 image_serialization_processor_( |
507 base::WrapUnique(new FakeImageSerializationProcessor)), | 506 base::WrapUnique(new FakeImageSerializationProcessor)), |
508 beginning_(false), | 507 beginning_(false), |
509 end_when_begin_returns_(false), | 508 end_when_begin_returns_(false), |
510 timed_out_(false), | 509 timed_out_(false), |
511 scheduled_(false), | 510 scheduled_(false), |
512 started_(false), | 511 started_(false), |
513 ended_(false), | 512 ended_(false), |
514 delegating_renderer_(false), | 513 delegating_renderer_(false), |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
898 ASSERT_FALSE(layer_tree_host_.get()); | 897 ASSERT_FALSE(layer_tree_host_.get()); |
899 client_ = nullptr; | 898 client_ = nullptr; |
900 if (timed_out_) { | 899 if (timed_out_) { |
901 FAIL() << "Test timed out"; | 900 FAIL() << "Test timed out"; |
902 return; | 901 return; |
903 } | 902 } |
904 AfterTest(); | 903 AfterTest(); |
905 } | 904 } |
906 | 905 |
907 void LayerTreeTest::RequestNewOutputSurface() { | 906 void LayerTreeTest::RequestNewOutputSurface() { |
| 907 if (settings_.use_external_begin_frame_source && |
| 908 settings_.wait_for_beginframe_interval) { |
| 909 DCHECK(external_begin_frame_source_); |
| 910 } |
908 SetOutputSurfaceOnLayerTreeHost(CreateOutputSurface()); | 911 SetOutputSurfaceOnLayerTreeHost(CreateOutputSurface()); |
909 } | 912 } |
910 | 913 |
911 std::unique_ptr<OutputSurface> LayerTreeTest::CreateOutputSurface() { | 914 std::unique_ptr<OutputSurface> LayerTreeTest::CreateOutputSurface() { |
912 std::unique_ptr<FakeOutputSurface> output_surface = CreateFakeOutputSurface(); | 915 return delegating_renderer_ ? FakeOutputSurface::CreateDelegating3d() |
913 DCHECK_EQ(delegating_renderer_, | 916 : FakeOutputSurface::Create3d(); |
914 output_surface->capabilities().delegated_rendering); | |
915 output_surface_ = output_surface.get(); | |
916 | |
917 if (settings_.use_external_begin_frame_source && | |
918 settings_.wait_for_beginframe_interval) { | |
919 DCHECK(external_begin_frame_source_); | |
920 } | |
921 return std::move(output_surface); | |
922 } | |
923 | |
924 std::unique_ptr<FakeOutputSurface> LayerTreeTest::CreateFakeOutputSurface() { | |
925 if (delegating_renderer_) | |
926 return FakeOutputSurface::CreateDelegating3d(); | |
927 else | |
928 return FakeOutputSurface::Create3d(); | |
929 } | |
930 | |
931 TestWebGraphicsContext3D* LayerTreeTest::TestContext() { | |
932 return static_cast<TestContextProvider*>(output_surface_->context_provider()) | |
933 ->TestContext3d(); | |
934 } | 917 } |
935 | 918 |
936 void LayerTreeTest::DestroyLayerTreeHost() { | 919 void LayerTreeTest::DestroyLayerTreeHost() { |
937 if (layer_tree_host_ && layer_tree_host_->root_layer()) | 920 if (layer_tree_host_ && layer_tree_host_->root_layer()) |
938 layer_tree_host_->root_layer()->SetLayerTreeHost(NULL); | 921 layer_tree_host_->root_layer()->SetLayerTreeHost(NULL); |
939 layer_tree_host_ = nullptr; | 922 layer_tree_host_ = nullptr; |
940 | 923 |
941 DCHECK(!remote_proto_channel_bridge_.channel_main.HasReceiver()); | 924 DCHECK(!remote_proto_channel_bridge_.channel_main.HasReceiver()); |
942 | 925 |
943 // Destroying the LayerTreeHost should destroy the remote client | 926 // Destroying the LayerTreeHost should destroy the remote client |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1039 | 1022 |
1040 RemoteChannelImplForTest* LayerTreeTest::GetRemoteChannelImplForTest() const { | 1023 RemoteChannelImplForTest* LayerTreeTest::GetRemoteChannelImplForTest() const { |
1041 DCHECK(IsRemoteTest()); | 1024 DCHECK(IsRemoteTest()); |
1042 DCHECK(remote_client_layer_tree_host_); | 1025 DCHECK(remote_client_layer_tree_host_); |
1043 | 1026 |
1044 return static_cast<RemoteChannelImplForTest*>( | 1027 return static_cast<RemoteChannelImplForTest*>( |
1045 remote_client_layer_tree_host_->proxy()); | 1028 remote_client_layer_tree_host_->proxy()); |
1046 } | 1029 } |
1047 | 1030 |
1048 } // namespace cc | 1031 } // namespace cc |
OLD | NEW |