Chromium Code Reviews| 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/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 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 446 | 446 |
| 447 TestHooks* test_hooks_; | 447 TestHooks* test_hooks_; |
| 448 }; | 448 }; |
| 449 | 449 |
| 450 // Adapts LayerTreeHost for test. Injects LayerTreeHostImplForTesting. | 450 // Adapts LayerTreeHost for test. Injects LayerTreeHostImplForTesting. |
| 451 class LayerTreeHostForTesting : public LayerTreeHost { | 451 class LayerTreeHostForTesting : public LayerTreeHost { |
| 452 public: | 452 public: |
| 453 static scoped_ptr<LayerTreeHostForTesting> Create( | 453 static scoped_ptr<LayerTreeHostForTesting> Create( |
| 454 TestHooks* test_hooks, | 454 TestHooks* test_hooks, |
| 455 LayerTreeHostClientForTesting* client, | 455 LayerTreeHostClientForTesting* client, |
| 456 SharedBitmapManager* shared_bitmap_manager, | |
| 457 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, | |
| 458 TaskGraphRunner* task_graph_runner, | |
| 459 const LayerTreeSettings& settings, | |
| 460 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, | |
| 461 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, | 456 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, |
| 462 scoped_ptr<BeginFrameSource> external_begin_frame_source) { | 457 LayerTreeHost::InitParams* params) { |
|
danakj
2015/05/07 00:59:56
I think maybe I prefer passing in all the things h
sadrul
2015/05/07 04:39:25
Done.
| |
| 463 scoped_ptr<LayerTreeHostForTesting> layer_tree_host( | 458 scoped_ptr<LayerTreeHostForTesting> layer_tree_host( |
| 464 new LayerTreeHostForTesting(test_hooks, client, shared_bitmap_manager, | 459 new LayerTreeHostForTesting(test_hooks, params)); |
| 465 gpu_memory_buffer_manager, | |
| 466 task_graph_runner, settings)); | |
| 467 if (impl_task_runner.get()) { | 460 if (impl_task_runner.get()) { |
| 468 layer_tree_host->InitializeForTesting( | 461 layer_tree_host->InitializeForTesting(ThreadProxyForTest::Create( |
| 469 ThreadProxyForTest::Create(test_hooks, | 462 test_hooks, layer_tree_host.get(), params->main_task_runner, |
| 470 layer_tree_host.get(), | 463 impl_task_runner, params->external_begin_frame_source.Pass())); |
| 471 main_task_runner, | |
| 472 impl_task_runner, | |
| 473 external_begin_frame_source.Pass())); | |
| 474 } else { | 464 } else { |
| 475 layer_tree_host->InitializeForTesting( | 465 layer_tree_host->InitializeForTesting(SingleThreadProxyForTest::Create( |
| 476 SingleThreadProxyForTest::Create( | 466 test_hooks, layer_tree_host.get(), client, params->main_task_runner, |
| 477 test_hooks, | 467 params->external_begin_frame_source.Pass())); |
| 478 layer_tree_host.get(), | |
| 479 client, | |
| 480 main_task_runner, | |
| 481 external_begin_frame_source.Pass())); | |
| 482 } | 468 } |
| 483 return layer_tree_host.Pass(); | 469 return layer_tree_host.Pass(); |
| 484 } | 470 } |
| 485 | 471 |
| 486 scoped_ptr<LayerTreeHostImpl> CreateLayerTreeHostImpl( | 472 scoped_ptr<LayerTreeHostImpl> CreateLayerTreeHostImpl( |
| 487 LayerTreeHostImplClient* host_impl_client) override { | 473 LayerTreeHostImplClient* host_impl_client) override { |
| 488 return LayerTreeHostImplForTesting::Create( | 474 return LayerTreeHostImplForTesting::Create( |
| 489 test_hooks_, settings(), host_impl_client, proxy(), | 475 test_hooks_, settings(), host_impl_client, proxy(), |
| 490 shared_bitmap_manager_, gpu_memory_buffer_manager_, task_graph_runner_, | 476 shared_bitmap_manager_, gpu_memory_buffer_manager_, task_graph_runner_, |
| 491 rendering_stats_instrumentation()); | 477 rendering_stats_instrumentation()); |
| 492 } | 478 } |
| 493 | 479 |
| 494 void SetNeedsCommit() override { | 480 void SetNeedsCommit() override { |
| 495 if (!test_started_) | 481 if (!test_started_) |
| 496 return; | 482 return; |
| 497 LayerTreeHost::SetNeedsCommit(); | 483 LayerTreeHost::SetNeedsCommit(); |
| 498 } | 484 } |
| 499 | 485 |
| 500 void set_test_started(bool started) { test_started_ = started; } | 486 void set_test_started(bool started) { test_started_ = started; } |
| 501 | 487 |
| 502 private: | 488 private: |
| 503 LayerTreeHostForTesting( | 489 LayerTreeHostForTesting(TestHooks* test_hooks, |
| 504 TestHooks* test_hooks, | 490 LayerTreeHost::InitParams* params) |
| 505 LayerTreeHostClient* client, | 491 : LayerTreeHost(params), |
| 506 SharedBitmapManager* shared_bitmap_manager, | 492 shared_bitmap_manager_(params->shared_bitmap_manager), |
| 507 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, | 493 gpu_memory_buffer_manager_(params->gpu_memory_buffer_manager), |
| 508 TaskGraphRunner* task_graph_runner, | 494 task_graph_runner_(params->task_graph_runner), |
| 509 const LayerTreeSettings& settings) | |
| 510 : LayerTreeHost(client, NULL, NULL, NULL, settings), | |
| 511 shared_bitmap_manager_(shared_bitmap_manager), | |
| 512 gpu_memory_buffer_manager_(gpu_memory_buffer_manager), | |
| 513 task_graph_runner_(task_graph_runner), | |
| 514 test_hooks_(test_hooks), | 495 test_hooks_(test_hooks), |
| 515 test_started_(false) {} | 496 test_started_(false) {} |
| 516 | 497 |
| 517 SharedBitmapManager* shared_bitmap_manager_; | 498 SharedBitmapManager* shared_bitmap_manager_; |
| 518 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager_; | 499 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager_; |
| 519 TaskGraphRunner* task_graph_runner_; | 500 TaskGraphRunner* task_graph_runner_; |
| 520 TestHooks* test_hooks_; | 501 TestHooks* test_hooks_; |
| 521 bool test_started_; | 502 bool test_started_; |
| 522 }; | 503 }; |
| 523 | 504 |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 660 client_ = LayerTreeHostClientForTesting::Create(this); | 641 client_ = LayerTreeHostClientForTesting::Create(this); |
| 661 | 642 |
| 662 scoped_ptr<FakeExternalBeginFrameSource> external_begin_frame_source; | 643 scoped_ptr<FakeExternalBeginFrameSource> external_begin_frame_source; |
| 663 if (settings_.use_external_begin_frame_source) { | 644 if (settings_.use_external_begin_frame_source) { |
| 664 external_begin_frame_source.reset(new FakeExternalBeginFrameSource( | 645 external_begin_frame_source.reset(new FakeExternalBeginFrameSource( |
| 665 settings_.renderer_settings.refresh_rate)); | 646 settings_.renderer_settings.refresh_rate)); |
| 666 external_begin_frame_source_ = external_begin_frame_source.get(); | 647 external_begin_frame_source_ = external_begin_frame_source.get(); |
| 667 } | 648 } |
| 668 | 649 |
| 669 DCHECK(!impl_thread_ || impl_thread_->task_runner().get()); | 650 DCHECK(!impl_thread_ || impl_thread_->task_runner().get()); |
| 651 LayerTreeHost::InitParams params; | |
| 652 | |
|
danakj
2015/05/07 00:59:56
nit: no whitespace
sadrul
2015/05/07 04:39:25
Done.
| |
| 653 params.client = client_.get(); | |
| 654 params.shared_bitmap_manager = shared_bitmap_manager_.get(); | |
| 655 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager_.get(); | |
| 656 params.task_graph_runner = task_graph_runner_.get(); | |
| 657 params.settings = &settings_; | |
| 658 params.main_task_runner = base::ThreadTaskRunnerHandle::Get(); | |
| 659 params.external_begin_frame_source = external_begin_frame_source.Pass(); | |
| 660 | |
| 670 layer_tree_host_ = LayerTreeHostForTesting::Create( | 661 layer_tree_host_ = LayerTreeHostForTesting::Create( |
| 671 this, client_.get(), shared_bitmap_manager_.get(), | 662 this, client_.get(), impl_thread_ ? impl_thread_->task_runner() : NULL, |
| 672 gpu_memory_buffer_manager_.get(), task_graph_runner_.get(), settings_, | 663 ¶ms); |
| 673 base::ThreadTaskRunnerHandle::Get(), | |
| 674 impl_thread_ ? impl_thread_->task_runner() : NULL, | |
| 675 external_begin_frame_source.Pass()); | |
| 676 ASSERT_TRUE(layer_tree_host_); | 664 ASSERT_TRUE(layer_tree_host_); |
| 677 | 665 |
| 678 started_ = true; | 666 started_ = true; |
| 679 beginning_ = true; | 667 beginning_ = true; |
| 680 SetupTree(); | 668 SetupTree(); |
| 681 WillBeginTest(); | 669 WillBeginTest(); |
| 682 BeginTest(); | 670 BeginTest(); |
| 683 beginning_ = false; | 671 beginning_ = false; |
| 684 if (end_when_begin_returns_) | 672 if (end_when_begin_returns_) |
| 685 RealEndTest(); | 673 RealEndTest(); |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 889 LayerTreeHost* LayerTreeTest::layer_tree_host() { | 877 LayerTreeHost* LayerTreeTest::layer_tree_host() { |
| 890 // We check for a null proxy here as we sometimes ask for the layer tree host | 878 // We check for a null proxy here as we sometimes ask for the layer tree host |
| 891 // when the proxy does not exist, often for checking settings after a test has | 879 // when the proxy does not exist, often for checking settings after a test has |
| 892 // completed. For example, LTHPixelResourceTest::RunPixelResourceTest. See | 880 // completed. For example, LTHPixelResourceTest::RunPixelResourceTest. See |
| 893 // elsewhere in this file for other examples. | 881 // elsewhere in this file for other examples. |
| 894 DCHECK(!proxy() || proxy()->IsMainThread() || proxy()->IsMainThreadBlocked()); | 882 DCHECK(!proxy() || proxy()->IsMainThread() || proxy()->IsMainThreadBlocked()); |
| 895 return layer_tree_host_.get(); | 883 return layer_tree_host_.get(); |
| 896 } | 884 } |
| 897 | 885 |
| 898 } // namespace cc | 886 } // namespace cc |
| OLD | NEW |