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

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

Issue 1419283002: cc: Split Proxy and TaskRunnerProvider for the LayerTreeHost (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 5 years, 1 month 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/trees/layer_tree_host.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/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 host_impl->LayerTreeHostImpl::CreateResourceAndTileTaskWorkerPool( 111 host_impl->LayerTreeHostImpl::CreateResourceAndTileTaskWorkerPool(
112 tile_task_worker_pool, resource_pool); 112 tile_task_worker_pool, resource_pool);
113 } 113 }
114 114
115 // Adapts ThreadProxy for test. Injects test hooks for testing. 115 // Adapts ThreadProxy for test. Injects test hooks for testing.
116 class ThreadProxyForTest : public ThreadProxy { 116 class ThreadProxyForTest : public ThreadProxy {
117 public: 117 public:
118 static scoped_ptr<Proxy> Create( 118 static scoped_ptr<Proxy> Create(
119 TestHooks* test_hooks, 119 TestHooks* test_hooks,
120 LayerTreeHost* host, 120 LayerTreeHost* host,
121 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 121 TaskRunnerProvider* task_runner_provider,
122 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner,
123 scoped_ptr<BeginFrameSource> external_begin_frame_source) { 122 scoped_ptr<BeginFrameSource> external_begin_frame_source) {
124 return make_scoped_ptr(new ThreadProxyForTest( 123 return make_scoped_ptr(
125 test_hooks, 124 new ThreadProxyForTest(test_hooks, host, task_runner_provider,
126 host, 125 external_begin_frame_source.Pass()));
127 main_task_runner,
128 impl_task_runner,
129 external_begin_frame_source.Pass()));
130 } 126 }
131 127
132 ~ThreadProxyForTest() override {} 128 ~ThreadProxyForTest() override {}
133 129
134 private: 130 private:
135 TestHooks* test_hooks_; 131 TestHooks* test_hooks_;
136 132
137 void SetNeedsUpdateLayers() override { 133 void SetNeedsUpdateLayers() override {
138 ThreadProxy::SetNeedsUpdateLayers(); 134 ThreadProxy::SetNeedsUpdateLayers();
139 test_hooks_->DidSetNeedsUpdateLayers(); 135 test_hooks_->DidSetNeedsUpdateLayers();
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 ThreadProxy::PostFrameTimingEventsOnMain(composite_events.Pass(), 324 ThreadProxy::PostFrameTimingEventsOnMain(composite_events.Pass(),
329 main_frame_events.Pass()); 325 main_frame_events.Pass());
330 } 326 }
331 327
332 void BeginMainFrame(scoped_ptr<BeginMainFrameAndCommitState> 328 void BeginMainFrame(scoped_ptr<BeginMainFrameAndCommitState>
333 begin_main_frame_state) override { 329 begin_main_frame_state) override {
334 test_hooks_->ReceivedBeginMainFrame(); 330 test_hooks_->ReceivedBeginMainFrame();
335 ThreadProxy::BeginMainFrame(begin_main_frame_state.Pass()); 331 ThreadProxy::BeginMainFrame(begin_main_frame_state.Pass());
336 }; 332 };
337 333
338 ThreadProxyForTest( 334 ThreadProxyForTest(TestHooks* test_hooks,
339 TestHooks* test_hooks, 335 LayerTreeHost* host,
340 LayerTreeHost* host, 336 TaskRunnerProvider* task_runner_provider,
341 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 337 scoped_ptr<BeginFrameSource> external_begin_frame_source)
342 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, 338 : ThreadProxy(host,
343 scoped_ptr<BeginFrameSource> external_begin_frame_source) 339 task_runner_provider,
344 : ThreadProxy(host, main_task_runner,
345 impl_task_runner,
346 external_begin_frame_source.Pass()), 340 external_begin_frame_source.Pass()),
347 test_hooks_(test_hooks) {} 341 test_hooks_(test_hooks) {}
348 }; 342 };
349 343
350 // Adapts ThreadProxy for test. Injects test hooks for testing. 344 // Adapts ThreadProxy for test. Injects test hooks for testing.
351 class SingleThreadProxyForTest : public SingleThreadProxy { 345 class SingleThreadProxyForTest : public SingleThreadProxy {
352 public: 346 public:
353 static scoped_ptr<Proxy> Create( 347 static scoped_ptr<Proxy> Create(
354 TestHooks* test_hooks, 348 TestHooks* test_hooks,
355 LayerTreeHost* host, 349 LayerTreeHost* host,
356 LayerTreeHostSingleThreadClient* client, 350 LayerTreeHostSingleThreadClient* client,
357 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 351 TaskRunnerProvider* task_runner_provider,
358 scoped_ptr<BeginFrameSource> external_begin_frame_source) { 352 scoped_ptr<BeginFrameSource> external_begin_frame_source) {
359 return make_scoped_ptr(new SingleThreadProxyForTest( 353 return make_scoped_ptr(new SingleThreadProxyForTest(
360 test_hooks, host, client, main_task_runner, 354 test_hooks, host, client, task_runner_provider,
361 external_begin_frame_source.Pass())); 355 external_begin_frame_source.Pass()));
362 } 356 }
363 357
364 ~SingleThreadProxyForTest() override {} 358 ~SingleThreadProxyForTest() override {}
365 359
366 private: 360 private:
367 TestHooks* test_hooks_; 361 TestHooks* test_hooks_;
368 362
369 void ScheduledActionSendBeginMainFrame() override { 363 void ScheduledActionSendBeginMainFrame() override {
370 test_hooks_->ScheduledActionWillSendBeginMainFrame(); 364 test_hooks_->ScheduledActionWillSendBeginMainFrame();
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 400
407 void SendBeginMainFrameNotExpectedSoon() override { 401 void SendBeginMainFrameNotExpectedSoon() override {
408 SingleThreadProxy::SendBeginMainFrameNotExpectedSoon(); 402 SingleThreadProxy::SendBeginMainFrameNotExpectedSoon();
409 test_hooks_->SendBeginMainFrameNotExpectedSoon(); 403 test_hooks_->SendBeginMainFrameNotExpectedSoon();
410 } 404 }
411 405
412 SingleThreadProxyForTest( 406 SingleThreadProxyForTest(
413 TestHooks* test_hooks, 407 TestHooks* test_hooks,
414 LayerTreeHost* host, 408 LayerTreeHost* host,
415 LayerTreeHostSingleThreadClient* client, 409 LayerTreeHostSingleThreadClient* client,
416 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 410 TaskRunnerProvider* task_runner_provider,
417 scoped_ptr<BeginFrameSource> external_begin_frame_source) 411 scoped_ptr<BeginFrameSource> external_begin_frame_source)
418 : SingleThreadProxy(host, client, main_task_runner, 412 : SingleThreadProxy(host,
413 client,
414 task_runner_provider,
419 external_begin_frame_source.Pass()), 415 external_begin_frame_source.Pass()),
420 test_hooks_(test_hooks) {} 416 test_hooks_(test_hooks) {}
421 }; 417 };
422 418
423 // Adapts LayerTreeHostImpl for test. Runs real code, then invokes test hooks. 419 // Adapts LayerTreeHostImpl for test. Runs real code, then invokes test hooks.
424 class LayerTreeHostImplForTesting : public LayerTreeHostImpl { 420 class LayerTreeHostImplForTesting : public LayerTreeHostImpl {
425 public: 421 public:
426 static scoped_ptr<LayerTreeHostImplForTesting> Create( 422 static scoped_ptr<LayerTreeHostImplForTesting> Create(
427 TestHooks* test_hooks, 423 TestHooks* test_hooks,
428 const LayerTreeSettings& settings, 424 const LayerTreeSettings& settings,
429 LayerTreeHostImplClient* host_impl_client, 425 LayerTreeHostImplClient* host_impl_client,
430 Proxy* proxy, 426 TaskRunnerProvider* task_runner_provider,
431 SharedBitmapManager* shared_bitmap_manager, 427 SharedBitmapManager* shared_bitmap_manager,
432 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 428 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
433 TaskGraphRunner* task_graph_runner, 429 TaskGraphRunner* task_graph_runner,
434 RenderingStatsInstrumentation* stats_instrumentation) { 430 RenderingStatsInstrumentation* stats_instrumentation) {
435 return make_scoped_ptr(new LayerTreeHostImplForTesting( 431 return make_scoped_ptr(new LayerTreeHostImplForTesting(
436 test_hooks, settings, host_impl_client, proxy, shared_bitmap_manager, 432 test_hooks, settings, host_impl_client, task_runner_provider,
437 gpu_memory_buffer_manager, task_graph_runner, stats_instrumentation)); 433 shared_bitmap_manager, gpu_memory_buffer_manager, task_graph_runner,
434 stats_instrumentation));
438 } 435 }
439 436
440 protected: 437 protected:
441 LayerTreeHostImplForTesting( 438 LayerTreeHostImplForTesting(
442 TestHooks* test_hooks, 439 TestHooks* test_hooks,
443 const LayerTreeSettings& settings, 440 const LayerTreeSettings& settings,
444 LayerTreeHostImplClient* host_impl_client, 441 LayerTreeHostImplClient* host_impl_client,
445 Proxy* proxy, 442 TaskRunnerProvider* task_runner_provider,
446 SharedBitmapManager* shared_bitmap_manager, 443 SharedBitmapManager* shared_bitmap_manager,
447 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 444 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
448 TaskGraphRunner* task_graph_runner, 445 TaskGraphRunner* task_graph_runner,
449 RenderingStatsInstrumentation* stats_instrumentation) 446 RenderingStatsInstrumentation* stats_instrumentation)
450 : LayerTreeHostImpl(settings, 447 : LayerTreeHostImpl(settings,
451 host_impl_client, 448 host_impl_client,
452 proxy, 449 task_runner_provider,
453 stats_instrumentation, 450 stats_instrumentation,
454 shared_bitmap_manager, 451 shared_bitmap_manager,
455 gpu_memory_buffer_manager, 452 gpu_memory_buffer_manager,
456 task_graph_runner, 453 task_graph_runner,
457 0), 454 0),
458 test_hooks_(test_hooks), 455 test_hooks_(test_hooks),
459 block_notify_ready_to_activate_for_testing_(false), 456 block_notify_ready_to_activate_for_testing_(false),
460 notify_ready_to_activate_was_blocked_(false) {} 457 notify_ready_to_activate_was_blocked_(false) {}
461 458
462 void CreateResourceAndTileTaskWorkerPool( 459 void CreateResourceAndTileTaskWorkerPool(
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, 693 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner,
697 scoped_ptr<BeginFrameSource> external_begin_frame_source) { 694 scoped_ptr<BeginFrameSource> external_begin_frame_source) {
698 LayerTreeHost::InitParams params; 695 LayerTreeHost::InitParams params;
699 params.client = client; 696 params.client = client;
700 params.shared_bitmap_manager = shared_bitmap_manager; 697 params.shared_bitmap_manager = shared_bitmap_manager;
701 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager; 698 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager;
702 params.task_graph_runner = task_graph_runner; 699 params.task_graph_runner = task_graph_runner;
703 params.settings = &settings; 700 params.settings = &settings;
704 scoped_ptr<LayerTreeHostForTesting> layer_tree_host( 701 scoped_ptr<LayerTreeHostForTesting> layer_tree_host(
705 new LayerTreeHostForTesting(test_hooks, &params)); 702 new LayerTreeHostForTesting(test_hooks, &params));
703 scoped_ptr<TaskRunnerProvider> task_runner_provider =
704 TaskRunnerProvider::Create(main_task_runner, impl_task_runner);
705 scoped_ptr<Proxy> proxy;
706 if (impl_task_runner.get()) { 706 if (impl_task_runner.get()) {
707 layer_tree_host->InitializeForTesting( 707 proxy = ThreadProxyForTest::Create(test_hooks, layer_tree_host.get(),
708 ThreadProxyForTest::Create(test_hooks, 708 task_runner_provider.get(),
709 layer_tree_host.get(), 709 external_begin_frame_source.Pass());
710 main_task_runner,
711 impl_task_runner,
712 external_begin_frame_source.Pass()));
713 } else { 710 } else {
714 layer_tree_host->InitializeForTesting( 711 proxy = SingleThreadProxyForTest::Create(
715 SingleThreadProxyForTest::Create( 712 test_hooks, layer_tree_host.get(), client, task_runner_provider.get(),
716 test_hooks, 713 external_begin_frame_source.Pass());
717 layer_tree_host.get(),
718 client,
719 main_task_runner,
720 external_begin_frame_source.Pass()));
721 } 714 }
715 layer_tree_host->InitializeForTesting(task_runner_provider.Pass(),
716 proxy.Pass());
722 return layer_tree_host.Pass(); 717 return layer_tree_host.Pass();
723 } 718 }
724 719
725 scoped_ptr<LayerTreeHostImpl> CreateLayerTreeHostImpl( 720 scoped_ptr<LayerTreeHostImpl> CreateLayerTreeHostImpl(
726 LayerTreeHostImplClient* host_impl_client) override { 721 LayerTreeHostImplClient* host_impl_client) override {
727 return LayerTreeHostImplForTesting::Create( 722 return LayerTreeHostImplForTesting::Create(
728 test_hooks_, settings(), host_impl_client, proxy(), 723 test_hooks_, settings(), host_impl_client, task_runner_provider(),
729 shared_bitmap_manager(), gpu_memory_buffer_manager(), 724 shared_bitmap_manager(), gpu_memory_buffer_manager(),
730 task_graph_runner(), rendering_stats_instrumentation()); 725 task_graph_runner(), rendering_stats_instrumentation());
731 } 726 }
732 727
733 void SetNeedsCommit() override { 728 void SetNeedsCommit() override {
734 if (!test_started_) 729 if (!test_started_)
735 return; 730 return;
736 LayerTreeHost::SetNeedsCommit(); 731 LayerTreeHost::SetNeedsCommit();
737 } 732 }
738 733
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 FROM_HERE, 973 FROM_HERE,
979 base::Bind(&LayerTreeTest::RealEndTest, main_thread_weak_ptr_)); 974 base::Bind(&LayerTreeTest::RealEndTest, main_thread_weak_ptr_));
980 return; 975 return;
981 } 976 }
982 977
983 base::MessageLoop::current()->QuitWhenIdle(); 978 base::MessageLoop::current()->QuitWhenIdle();
984 } 979 }
985 980
986 void LayerTreeTest::DispatchAddAnimation(Layer* layer_to_receive_animation, 981 void LayerTreeTest::DispatchAddAnimation(Layer* layer_to_receive_animation,
987 double animation_duration) { 982 double animation_duration) {
988 DCHECK(!proxy() || proxy()->IsMainThread()); 983 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
989 984
990 if (layer_to_receive_animation) { 985 if (layer_to_receive_animation) {
991 AddOpacityTransitionToLayer( 986 AddOpacityTransitionToLayer(
992 layer_to_receive_animation, animation_duration, 0, 0.5, true); 987 layer_to_receive_animation, animation_duration, 0, 0.5, true);
993 } 988 }
994 } 989 }
995 990
996 void LayerTreeTest::DispatchAddAnimationToPlayer( 991 void LayerTreeTest::DispatchAddAnimationToPlayer(
997 AnimationPlayer* player_to_receive_animation, 992 AnimationPlayer* player_to_receive_animation,
998 double animation_duration) { 993 double animation_duration) {
999 DCHECK(!proxy() || proxy()->IsMainThread()); 994 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
1000 995
1001 if (player_to_receive_animation) { 996 if (player_to_receive_animation) {
1002 AddOpacityTransitionToPlayer(player_to_receive_animation, 997 AddOpacityTransitionToPlayer(player_to_receive_animation,
1003 animation_duration, 0, 0.5, true); 998 animation_duration, 0, 0.5, true);
1004 } 999 }
1005 } 1000 }
1006 1001
1007 void LayerTreeTest::DispatchSetDeferCommits(bool defer_commits) { 1002 void LayerTreeTest::DispatchSetDeferCommits(bool defer_commits) {
1008 DCHECK(!proxy() || proxy()->IsMainThread()); 1003 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
1009 1004
1010 if (layer_tree_host_) 1005 if (layer_tree_host_)
1011 layer_tree_host_->SetDeferCommits(defer_commits); 1006 layer_tree_host_->SetDeferCommits(defer_commits);
1012 } 1007 }
1013 1008
1014 void LayerTreeTest::DispatchSetNeedsCommit() { 1009 void LayerTreeTest::DispatchSetNeedsCommit() {
1015 DCHECK(!proxy() || proxy()->IsMainThread()); 1010 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
1016 1011
1017 if (layer_tree_host_) 1012 if (layer_tree_host_)
1018 layer_tree_host_->SetNeedsCommit(); 1013 layer_tree_host_->SetNeedsCommit();
1019 } 1014 }
1020 1015
1021 void LayerTreeTest::DispatchSetNeedsUpdateLayers() { 1016 void LayerTreeTest::DispatchSetNeedsUpdateLayers() {
1022 DCHECK(!proxy() || proxy()->IsMainThread()); 1017 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
1023 1018
1024 if (layer_tree_host_) 1019 if (layer_tree_host_)
1025 layer_tree_host_->SetNeedsUpdateLayers(); 1020 layer_tree_host_->SetNeedsUpdateLayers();
1026 } 1021 }
1027 1022
1028 void LayerTreeTest::DispatchSetNeedsRedraw() { 1023 void LayerTreeTest::DispatchSetNeedsRedraw() {
1029 DCHECK(!proxy() || proxy()->IsMainThread()); 1024 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
1030 1025
1031 if (layer_tree_host_) 1026 if (layer_tree_host_)
1032 layer_tree_host_->SetNeedsRedraw(); 1027 layer_tree_host_->SetNeedsRedraw();
1033 } 1028 }
1034 1029
1035 void LayerTreeTest::DispatchSetNeedsRedrawRect(const gfx::Rect& damage_rect) { 1030 void LayerTreeTest::DispatchSetNeedsRedrawRect(const gfx::Rect& damage_rect) {
1036 DCHECK(!proxy() || proxy()->IsMainThread()); 1031 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
1037 1032
1038 if (layer_tree_host_) 1033 if (layer_tree_host_)
1039 layer_tree_host_->SetNeedsRedrawRect(damage_rect); 1034 layer_tree_host_->SetNeedsRedrawRect(damage_rect);
1040 } 1035 }
1041 1036
1042 void LayerTreeTest::DispatchSetVisible(bool visible) { 1037 void LayerTreeTest::DispatchSetVisible(bool visible) {
1043 DCHECK(!proxy() || proxy()->IsMainThread()); 1038 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
1044 if (layer_tree_host_) 1039 if (layer_tree_host_)
1045 layer_tree_host_->SetVisible(visible); 1040 layer_tree_host_->SetVisible(visible);
1046 } 1041 }
1047 1042
1048 void LayerTreeTest::DispatchSetNextCommitForcesRedraw() { 1043 void LayerTreeTest::DispatchSetNextCommitForcesRedraw() {
1049 DCHECK(!proxy() || proxy()->IsMainThread()); 1044 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
1050 1045
1051 if (layer_tree_host_) 1046 if (layer_tree_host_)
1052 layer_tree_host_->SetNextCommitForcesRedraw(); 1047 layer_tree_host_->SetNextCommitForcesRedraw();
1053 } 1048 }
1054 1049
1055 void LayerTreeTest::DispatchCompositeImmediately() { 1050 void LayerTreeTest::DispatchCompositeImmediately() {
1056 DCHECK(!proxy() || proxy()->IsMainThread()); 1051 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread());
1057 if (layer_tree_host_) 1052 if (layer_tree_host_)
1058 layer_tree_host_->Composite(base::TimeTicks::Now()); 1053 layer_tree_host_->Composite(base::TimeTicks::Now());
1059 } 1054 }
1060 1055
1061 void LayerTreeTest::RunTest(bool threaded, bool delegating_renderer) { 1056 void LayerTreeTest::RunTest(bool threaded, bool delegating_renderer) {
1062 if (threaded) { 1057 if (threaded) {
1063 impl_thread_.reset(new base::Thread("Compositor")); 1058 impl_thread_.reset(new base::Thread("Compositor"));
1064 ASSERT_TRUE(impl_thread_->Start()); 1059 ASSERT_TRUE(impl_thread_->Start());
1065 } 1060 }
1066 1061
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
1145 return -1; 1140 return -1;
1146 } 1141 }
1147 1142
1148 void LayerTreeTest::DestroyLayerTreeHost() { 1143 void LayerTreeTest::DestroyLayerTreeHost() {
1149 if (layer_tree_host_ && layer_tree_host_->root_layer()) 1144 if (layer_tree_host_ && layer_tree_host_->root_layer())
1150 layer_tree_host_->root_layer()->SetLayerTreeHost(NULL); 1145 layer_tree_host_->root_layer()->SetLayerTreeHost(NULL);
1151 layer_tree_host_ = nullptr; 1146 layer_tree_host_ = nullptr;
1152 } 1147 }
1153 1148
1154 LayerTreeHost* LayerTreeTest::layer_tree_host() { 1149 LayerTreeHost* LayerTreeTest::layer_tree_host() {
1155 // We check for a null proxy here as we sometimes ask for the layer tree host 1150 // We check for a null task_runner_provider here as we sometimes ask for the
1156 // when the proxy does not exist, often for checking settings after a test has 1151 // layer tree host when the task_runner_provider does not exist, often for
1157 // completed. For example, LTHPixelResourceTest::RunPixelResourceTest. See 1152 // checking settings after a test has completed. For example,
1158 // elsewhere in this file for other examples. 1153 // LTHPixelResourceTest::RunPixelResourceTest. See elsewhere in this file for
1159 DCHECK(!proxy() || proxy()->IsMainThread() || proxy()->IsMainThreadBlocked()); 1154 // other examples.
1155 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread() ||
1156 task_runner_provider()->IsMainThreadBlocked());
1160 return layer_tree_host_.get(); 1157 return layer_tree_host_.get();
1161 } 1158 }
1162 1159
1163 } // namespace cc 1160 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/layer_tree_test.h ('k') | cc/trees/layer_tree_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698