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

Side by Side Diff: cc/test/layer_tree_test.cc

Issue 2208693003: Revert of cc: Make LayerTreeTests use a DelegatingRenderer and Display. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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/test/layer_tree_test.h ('k') | cc/test/test_context_provider.h » ('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/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 10 matching lines...) Expand all
21 #include "cc/layers/layer_impl.h" 21 #include "cc/layers/layer_impl.h"
22 #include "cc/output/buffer_to_texture_target_map.h" 22 #include "cc/output/buffer_to_texture_target_map.h"
23 #include "cc/proto/compositor_message_to_impl.pb.h" 23 #include "cc/proto/compositor_message_to_impl.pb.h"
24 #include "cc/test/animation_test_common.h" 24 #include "cc/test/animation_test_common.h"
25 #include "cc/test/begin_frame_args_test.h" 25 #include "cc/test/begin_frame_args_test.h"
26 #include "cc/test/fake_external_begin_frame_source.h" 26 #include "cc/test/fake_external_begin_frame_source.h"
27 #include "cc/test/fake_image_serialization_processor.h" 27 #include "cc/test/fake_image_serialization_processor.h"
28 #include "cc/test/fake_layer_tree_host_client.h" 28 #include "cc/test/fake_layer_tree_host_client.h"
29 #include "cc/test/fake_output_surface.h" 29 #include "cc/test/fake_output_surface.h"
30 #include "cc/test/test_context_provider.h" 30 #include "cc/test/test_context_provider.h"
31 #include "cc/test/test_delegating_output_surface.h" 31 #include "cc/test/test_gpu_memory_buffer_manager.h"
32 #include "cc/test/test_shared_bitmap_manager.h" 32 #include "cc/test/test_shared_bitmap_manager.h"
33 #include "cc/test/test_task_graph_runner.h"
33 #include "cc/trees/layer_tree_host_client.h" 34 #include "cc/trees/layer_tree_host_client.h"
34 #include "cc/trees/layer_tree_host_impl.h" 35 #include "cc/trees/layer_tree_host_impl.h"
35 #include "cc/trees/layer_tree_host_single_thread_client.h" 36 #include "cc/trees/layer_tree_host_single_thread_client.h"
36 #include "cc/trees/layer_tree_impl.h" 37 #include "cc/trees/layer_tree_impl.h"
37 #include "cc/trees/proxy_impl.h" 38 #include "cc/trees/proxy_impl.h"
38 #include "cc/trees/proxy_main.h" 39 #include "cc/trees/proxy_main.h"
39 #include "cc/trees/remote_channel_impl.h" 40 #include "cc/trees/remote_channel_impl.h"
40 #include "cc/trees/single_thread_proxy.h" 41 #include "cc/trees/single_thread_proxy.h"
41 #include "cc/trees/threaded_channel.h" 42 #include "cc/trees/threaded_channel.h"
42 #include "testing/gmock/include/gmock/gmock.h" 43 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 DrawResult PrepareToDraw(FrameData* frame) override { 176 DrawResult PrepareToDraw(FrameData* frame) override {
176 DrawResult draw_result = LayerTreeHostImpl::PrepareToDraw(frame); 177 DrawResult draw_result = LayerTreeHostImpl::PrepareToDraw(frame);
177 return test_hooks_->PrepareToDrawOnThread(this, frame, draw_result); 178 return test_hooks_->PrepareToDrawOnThread(this, frame, draw_result);
178 } 179 }
179 180
180 void DrawLayers(FrameData* frame) override { 181 void DrawLayers(FrameData* frame) override {
181 LayerTreeHostImpl::DrawLayers(frame); 182 LayerTreeHostImpl::DrawLayers(frame);
182 test_hooks_->DrawLayersOnThread(this); 183 test_hooks_->DrawLayersOnThread(this);
183 } 184 }
184 185
186 void DidSwapBuffersComplete() override {
187 LayerTreeHostImpl::DidSwapBuffersComplete();
188 test_hooks_->SwapBuffersCompleteOnThread();
189 }
190
191 void ReclaimResources(const ReturnedResourceArray& resources) override {
192 LayerTreeHostImpl::ReclaimResources(resources);
193 }
194
185 void NotifyReadyToActivate() override { 195 void NotifyReadyToActivate() override {
186 if (block_notify_ready_to_activate_for_testing_) { 196 if (block_notify_ready_to_activate_for_testing_) {
187 notify_ready_to_activate_was_blocked_ = true; 197 notify_ready_to_activate_was_blocked_ = true;
188 } else { 198 } else {
189 LayerTreeHostImpl::NotifyReadyToActivate(); 199 LayerTreeHostImpl::NotifyReadyToActivate();
190 test_hooks_->NotifyReadyToActivateOnThread(this); 200 test_hooks_->NotifyReadyToActivateOnThread(this);
191 } 201 }
192 } 202 }
193 203
194 void NotifyReadyToDraw() override { 204 void NotifyReadyToDraw() override {
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 LayerTreeHost::InitParams* params, 434 LayerTreeHost::InitParams* params,
425 CompositorMode mode) 435 CompositorMode mode)
426 : LayerTreeHost(params, mode), 436 : LayerTreeHost(params, mode),
427 test_hooks_(test_hooks), 437 test_hooks_(test_hooks),
428 test_started_(false) {} 438 test_started_(false) {}
429 439
430 TestHooks* test_hooks_; 440 TestHooks* test_hooks_;
431 bool test_started_; 441 bool test_started_;
432 }; 442 };
433 443
434 class LayerTreeTestDelegatingOutputSurfaceClient
435 : public TestDelegatingOutputSurfaceClient {
436 public:
437 explicit LayerTreeTestDelegatingOutputSurfaceClient(TestHooks* hooks)
438 : hooks_(hooks) {}
439
440 // TestDelegatingOutputSurfaceClient implementation.
441 void DisplayReceivedCompositorFrame(const CompositorFrame& frame) override {
442 hooks_->DisplayReceivedCompositorFrameOnThread(frame);
443 }
444 void DisplayWillDrawAndSwap(bool will_draw_and_swap,
445 const RenderPassList& render_passes) override {
446 hooks_->DisplayWillDrawAndSwapOnThread(will_draw_and_swap, render_passes);
447 }
448 void DisplayDidDrawAndSwap() override {
449 hooks_->DisplayDidDrawAndSwapOnThread();
450 }
451
452 private:
453 TestHooks* hooks_;
454 };
455
456 LayerTreeTest::LayerTreeTest() 444 LayerTreeTest::LayerTreeTest()
457 : remote_proto_channel_bridge_(this), 445 : external_begin_frame_source_(nullptr),
446 remote_proto_channel_bridge_(this),
458 image_serialization_processor_( 447 image_serialization_processor_(
459 base::WrapUnique(new FakeImageSerializationProcessor)), 448 base::WrapUnique(new FakeImageSerializationProcessor)),
460 delegating_output_surface_client_( 449 beginning_(false),
461 new LayerTreeTestDelegatingOutputSurfaceClient(this)), 450 end_when_begin_returns_(false),
451 timed_out_(false),
452 scheduled_(false),
453 started_(false),
454 ended_(false),
455 delegating_renderer_(false),
456 timeout_seconds_(0),
462 weak_factory_(this) { 457 weak_factory_(this) {
463 main_thread_weak_ptr_ = weak_factory_.GetWeakPtr(); 458 main_thread_weak_ptr_ = weak_factory_.GetWeakPtr();
464 459
465 // Tests should timeout quickly unless --cc-layer-tree-test-no-timeout was 460 // Tests should timeout quickly unless --cc-layer-tree-test-no-timeout was
466 // specified (for running in a debugger). 461 // specified (for running in a debugger).
467 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 462 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
468 if (!command_line->HasSwitch(switches::kCCLayerTreeTestNoTimeout)) 463 if (!command_line->HasSwitch(switches::kCCLayerTreeTestNoTimeout))
469 timeout_seconds_ = 5; 464 timeout_seconds_ = 5;
470 if (command_line->HasSwitch(switches::kCCLayerTreeTestLongTimeout)) 465 if (command_line->HasSwitch(switches::kCCLayerTreeTestLongTimeout))
471 timeout_seconds_ = 5 * 60; 466 timeout_seconds_ = 5 * 60;
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 main_thread_weak_ptr_)); 593 main_thread_weak_ptr_));
599 } 594 }
600 595
601 void LayerTreeTest::PostNextCommitWaitsForActivationToMainThread() { 596 void LayerTreeTest::PostNextCommitWaitsForActivationToMainThread() {
602 main_task_runner_->PostTask( 597 main_task_runner_->PostTask(
603 FROM_HERE, 598 FROM_HERE,
604 base::Bind(&LayerTreeTest::DispatchNextCommitWaitsForActivation, 599 base::Bind(&LayerTreeTest::DispatchNextCommitWaitsForActivation,
605 main_thread_weak_ptr_)); 600 main_thread_weak_ptr_));
606 } 601 }
607 602
603 void LayerTreeTest::SetOutputSurfaceOnLayerTreeHost(
604 std::unique_ptr<OutputSurface> output_surface) {
605 if (IsRemoteTest()) {
606 DCHECK(remote_client_layer_tree_host_);
607 remote_client_layer_tree_host_->SetOutputSurface(std::move(output_surface));
608 } else {
609 layer_tree_host_->SetOutputSurface(std::move(output_surface));
610 }
611 }
612
608 std::unique_ptr<OutputSurface> 613 std::unique_ptr<OutputSurface>
609 LayerTreeTest::ReleaseOutputSurfaceOnLayerTreeHost() { 614 LayerTreeTest::ReleaseOutputSurfaceOnLayerTreeHost() {
610 if (IsRemoteTest()) { 615 if (IsRemoteTest()) {
611 DCHECK(remote_client_layer_tree_host_); 616 DCHECK(remote_client_layer_tree_host_);
612 return remote_client_layer_tree_host_->ReleaseOutputSurface(); 617 return remote_client_layer_tree_host_->ReleaseOutputSurface();
613 } 618 }
614 return layer_tree_host_->ReleaseOutputSurface(); 619 return layer_tree_host_->ReleaseOutputSurface();
615 } 620 }
616 621
617 void LayerTreeTest::SetVisibleOnLayerTreeHost(bool visible) { 622 void LayerTreeTest::SetVisibleOnLayerTreeHost(bool visible) {
618 layer_tree_host_->SetVisible(visible); 623 layer_tree_host_->SetVisible(visible);
619 624
620 if (IsRemoteTest()) { 625 if (IsRemoteTest()) {
621 DCHECK(remote_client_layer_tree_host_); 626 DCHECK(remote_client_layer_tree_host_);
622 remote_client_layer_tree_host_->SetVisible(visible); 627 remote_client_layer_tree_host_->SetVisible(visible);
623 } 628 }
624 } 629 }
625 630
626 void LayerTreeTest::WillBeginTest() { 631 void LayerTreeTest::WillBeginTest() {
627 SetVisibleOnLayerTreeHost(true); 632 SetVisibleOnLayerTreeHost(true);
628 } 633 }
629 634
630 void LayerTreeTest::DoBeginTest() { 635 void LayerTreeTest::DoBeginTest() {
631 client_ = LayerTreeHostClientForTesting::Create(this); 636 client_ = LayerTreeHostClientForTesting::Create(this);
632 637
638 std::unique_ptr<FakeExternalBeginFrameSource> external_begin_frame_source;
639 if (settings_.use_external_begin_frame_source) {
640 DCHECK(!IsRemoteTest());
641 external_begin_frame_source.reset(new FakeExternalBeginFrameSource(
642 settings_.renderer_settings.refresh_rate, true));
643 external_begin_frame_source_ = external_begin_frame_source.get();
644 }
645
633 DCHECK(!impl_thread_ || impl_thread_->task_runner().get()); 646 DCHECK(!impl_thread_ || impl_thread_->task_runner().get());
634 647
635 if (IsRemoteTest()) { 648 if (IsRemoteTest()) {
636 DCHECK(impl_thread_); 649 DCHECK(impl_thread_);
637 layer_tree_host_ = LayerTreeHostForTesting::Create( 650 layer_tree_host_ = LayerTreeHostForTesting::Create(
638 this, mode_, client_.get(), &remote_proto_channel_bridge_.channel_main, 651 this, mode_, client_.get(), &remote_proto_channel_bridge_.channel_main,
639 nullptr, nullptr, task_graph_runner_.get(), settings_, 652 nullptr, nullptr, task_graph_runner_.get(), settings_,
640 base::ThreadTaskRunnerHandle::Get(), nullptr, nullptr, 653 base::ThreadTaskRunnerHandle::Get(), nullptr,
654 std::move(external_begin_frame_source),
641 image_serialization_processor_.get()); 655 image_serialization_processor_.get());
642 DCHECK(remote_proto_channel_bridge_.channel_main.HasReceiver()); 656 DCHECK(remote_proto_channel_bridge_.channel_main.HasReceiver());
643 } else { 657 } else {
644 layer_tree_host_ = LayerTreeHostForTesting::Create( 658 layer_tree_host_ = LayerTreeHostForTesting::Create(
645 this, mode_, client_.get(), nullptr, shared_bitmap_manager_.get(), 659 this, mode_, client_.get(), nullptr, shared_bitmap_manager_.get(),
646 gpu_memory_buffer_manager_.get(), task_graph_runner_.get(), settings_, 660 gpu_memory_buffer_manager_.get(), task_graph_runner_.get(), settings_,
647 base::ThreadTaskRunnerHandle::Get(), 661 base::ThreadTaskRunnerHandle::Get(),
648 impl_thread_ ? impl_thread_->task_runner() : nullptr, nullptr, 662 impl_thread_ ? impl_thread_->task_runner() : NULL,
663 std::move(external_begin_frame_source),
649 image_serialization_processor_.get()); 664 image_serialization_processor_.get());
650 } 665 }
651 666
652 ASSERT_TRUE(layer_tree_host_); 667 ASSERT_TRUE(layer_tree_host_);
653 668
654 main_task_runner_ = 669 main_task_runner_ =
655 layer_tree_host_->task_runner_provider()->MainThreadTaskRunner(); 670 layer_tree_host_->task_runner_provider()->MainThreadTaskRunner();
656 impl_task_runner_ = 671 impl_task_runner_ =
657 layer_tree_host_->task_runner_provider()->ImplThreadTaskRunner(); 672 layer_tree_host_->task_runner_provider()->ImplThreadTaskRunner();
658 if (!impl_task_runner_) { 673 if (!impl_task_runner_) {
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 delegating_renderer_ = delegating_renderer; 821 delegating_renderer_ = delegating_renderer;
807 822
808 // Spend less time waiting for BeginFrame because the output is 823 // Spend less time waiting for BeginFrame because the output is
809 // mocked out. 824 // mocked out.
810 settings_.renderer_settings.refresh_rate = 200.0; 825 settings_.renderer_settings.refresh_rate = 200.0;
811 settings_.background_animation_rate = 200.0; 826 settings_.background_animation_rate = 200.0;
812 settings_.verify_clip_tree_calculations = true; 827 settings_.verify_clip_tree_calculations = true;
813 settings_.verify_transform_tree_calculations = true; 828 settings_.verify_transform_tree_calculations = true;
814 settings_.renderer_settings.buffer_to_texture_target_map = 829 settings_.renderer_settings.buffer_to_texture_target_map =
815 DefaultBufferToTextureTargetMapForTesting(); 830 DefaultBufferToTextureTargetMapForTesting();
816 // The TestDelegatingOutputSurface will provide a BeginFrameSource.
817 settings_.use_output_surface_begin_frame_source = true;
818 InitializeSettings(&settings_); 831 InitializeSettings(&settings_);
819 DCHECK(settings_.use_output_surface_begin_frame_source);
820 DCHECK(!settings_.use_external_begin_frame_source);
821 832
822 base::ThreadTaskRunnerHandle::Get()->PostTask( 833 base::ThreadTaskRunnerHandle::Get()->PostTask(
823 FROM_HERE, 834 FROM_HERE,
824 base::Bind(&LayerTreeTest::DoBeginTest, base::Unretained(this))); 835 base::Bind(&LayerTreeTest::DoBeginTest, base::Unretained(this)));
825 836
826 base::RunLoop().Run(); 837 base::RunLoop().Run();
827 DestroyLayerTreeHost(); 838 DestroyLayerTreeHost();
828 839
829 timeout_.Cancel(); 840 timeout_.Cancel();
830 841
831 ASSERT_FALSE(layer_tree_host_.get()); 842 ASSERT_FALSE(layer_tree_host_.get());
832 client_ = nullptr; 843 client_ = nullptr;
833 if (timed_out_) { 844 if (timed_out_) {
834 FAIL() << "Test timed out"; 845 FAIL() << "Test timed out";
835 return; 846 return;
836 } 847 }
837 AfterTest(); 848 AfterTest();
838 } 849 }
839 850
840 void LayerTreeTest::RequestNewOutputSurface() { 851 void LayerTreeTest::RequestNewOutputSurface() {
841 scoped_refptr<TestContextProvider> shared_context_provider = 852 if (settings_.use_external_begin_frame_source &&
842 TestContextProvider::Create(); 853 settings_.wait_for_beginframe_interval) {
843 scoped_refptr<TestContextProvider> worker_context_provider = 854 DCHECK(external_begin_frame_source_);
844 TestContextProvider::CreateWorker();
845
846 auto delegating_output_surface = CreateDelegatingOutputSurface(
847 std::move(shared_context_provider), std::move(worker_context_provider));
848 delegating_output_surface->SetClient(delegating_output_surface_client_.get());
849
850 if (IsRemoteTest()) {
851 DCHECK(remote_client_layer_tree_host_);
852 remote_client_layer_tree_host_->SetOutputSurface(
853 std::move(delegating_output_surface));
854 } else {
855 layer_tree_host_->SetOutputSurface(std::move(delegating_output_surface));
856 } 855 }
856 SetOutputSurfaceOnLayerTreeHost(CreateOutputSurface());
857 } 857 }
858 858
859 std::unique_ptr<TestDelegatingOutputSurface> 859 std::unique_ptr<OutputSurface> LayerTreeTest::CreateOutputSurface() {
860 LayerTreeTest::CreateDelegatingOutputSurface( 860 if (delegating_renderer_)
861 scoped_refptr<ContextProvider> compositor_context_provider, 861 return FakeOutputSurface::CreateDelegating3d();
862 scoped_refptr<ContextProvider> worker_context_provider) {
863 bool synchronous_composite =
864 !HasImplThread() &&
865 !layer_tree_host()->settings().single_thread_proxy_scheduler;
866 // Disable reclaim resources by default to act like the Display lives
867 // out-of-process.
868 bool force_disable_reclaim_resources = true;
869 return base::MakeUnique<TestDelegatingOutputSurface>(
870 compositor_context_provider, std::move(worker_context_provider),
871 CreateDisplayOutputSurface(compositor_context_provider),
872 shared_bitmap_manager(), gpu_memory_buffer_manager(),
873 layer_tree_host()->settings().renderer_settings, ImplThreadTaskRunner(),
874 synchronous_composite, force_disable_reclaim_resources);
875 }
876 862
877 std::unique_ptr<OutputSurface> LayerTreeTest::CreateDisplayOutputSurface( 863 // Make a worker context in a non-delegating OutputSurface. This is an
878 scoped_refptr<ContextProvider> compositor_context_provider) { 864 // exceptional situation for these tests as they put a non-delegating
879 // By default the Display shares a context with the LayerTreeHostImpl. 865 // OutputSurface into the LayerTreeHost.
880 return FakeOutputSurface::Create3d(std::move(compositor_context_provider)); 866 return FakeOutputSurface::Create3d(TestContextProvider::Create(),
867 TestContextProvider::CreateWorker());
881 } 868 }
882 869
883 void LayerTreeTest::DestroyLayerTreeHost() { 870 void LayerTreeTest::DestroyLayerTreeHost() {
884 if (layer_tree_host_ && layer_tree_host_->root_layer()) 871 if (layer_tree_host_ && layer_tree_host_->root_layer())
885 layer_tree_host_->root_layer()->SetLayerTreeHost(NULL); 872 layer_tree_host_->root_layer()->SetLayerTreeHost(NULL);
886 layer_tree_host_ = nullptr; 873 layer_tree_host_ = nullptr;
887 874
888 DCHECK(!remote_proto_channel_bridge_.channel_main.HasReceiver()); 875 DCHECK(!remote_proto_channel_bridge_.channel_main.HasReceiver());
889 876
890 // Destroying the LayerTreeHost should destroy the remote client 877 // Destroying the LayerTreeHost should destroy the remote client
(...skipping 24 matching lines...) Expand all
915 remote_client_layer_tree_host_ = LayerTreeHostForTesting::Create( 902 remote_client_layer_tree_host_ = LayerTreeHostForTesting::Create(
916 this, mode_, client_.get(), &remote_proto_channel_bridge_.channel_impl, 903 this, mode_, client_.get(), &remote_proto_channel_bridge_.channel_impl,
917 nullptr, nullptr, task_graph_runner_.get(), settings, 904 nullptr, nullptr, task_graph_runner_.get(), settings,
918 base::ThreadTaskRunnerHandle::Get(), impl_thread_->task_runner(), nullptr, 905 base::ThreadTaskRunnerHandle::Get(), impl_thread_->task_runner(), nullptr,
919 image_serialization_processor_.get()); 906 image_serialization_processor_.get());
920 907
921 DCHECK(remote_proto_channel_bridge_.channel_impl.HasReceiver()); 908 DCHECK(remote_proto_channel_bridge_.channel_impl.HasReceiver());
922 DCHECK(task_runner_provider()->HasImplThread()); 909 DCHECK(task_runner_provider()->HasImplThread());
923 } 910 }
924 911
912 TaskGraphRunner* LayerTreeTest::task_graph_runner() const {
913 return task_graph_runner_.get();
914 }
915
925 TaskRunnerProvider* LayerTreeTest::task_runner_provider() const { 916 TaskRunnerProvider* LayerTreeTest::task_runner_provider() const {
926 // All LayerTreeTests can use the task runner provider to access the impl 917 // All LayerTreeTests can use the task runner provider to access the impl
927 // thread. In the remote mode, the impl thread of the compositor lives on 918 // thread. In the remote mode, the impl thread of the compositor lives on
928 // the client, so return the task runner provider owned by the remote client 919 // the client, so return the task runner provider owned by the remote client
929 // LayerTreeHost. 920 // LayerTreeHost.
930 LayerTreeHost* host = IsRemoteTest() ? remote_client_layer_tree_host_.get() 921 LayerTreeHost* host = IsRemoteTest() ? remote_client_layer_tree_host_.get()
931 : layer_tree_host_.get(); 922 : layer_tree_host_.get();
932 923
933 // If this fails, the test has ended and there is no task runners to find 924 // If this fails, the test has ended and there is no task runners to find
934 // anymore. 925 // anymore.
935 DCHECK(host); 926 DCHECK(host);
936 927
937 return host->task_runner_provider(); 928 return host->task_runner_provider();
938 } 929 }
939 930
940 LayerTreeHost* LayerTreeTest::layer_tree_host() { 931 LayerTreeHost* LayerTreeTest::layer_tree_host() {
941 DCHECK(task_runner_provider()->IsMainThread() || 932 DCHECK(task_runner_provider()->IsMainThread() ||
942 task_runner_provider()->IsMainThreadBlocked()); 933 task_runner_provider()->IsMainThreadBlocked());
943 return layer_tree_host_.get(); 934 return layer_tree_host_.get();
944 } 935 }
945 936
946 LayerTreeHost* LayerTreeTest::remote_client_layer_tree_host() { 937 LayerTreeHost* LayerTreeTest::remote_client_layer_tree_host() {
947 DCHECK(IsRemoteTest()); 938 DCHECK(IsRemoteTest());
948 DCHECK(task_runner_provider()->IsMainThread() || 939 DCHECK(task_runner_provider()->IsMainThread() ||
949 task_runner_provider()->IsMainThreadBlocked()); 940 task_runner_provider()->IsMainThreadBlocked());
950 return remote_client_layer_tree_host_.get(); 941 return remote_client_layer_tree_host_.get();
951 } 942 }
952 943
953 } // namespace cc 944 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/layer_tree_test.h ('k') | cc/test/test_context_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698