| 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/single_thread_task_runner.h" | 10 #include "base/single_thread_task_runner.h" |
| 10 #include "base/thread_task_runner_handle.h" | 11 #include "base/thread_task_runner_handle.h" |
| 11 #include "cc/animation/animation.h" | 12 #include "cc/animation/animation.h" |
| 12 #include "cc/animation/animation_host.h" | 13 #include "cc/animation/animation_host.h" |
| 13 #include "cc/animation/animation_registrar.h" | 14 #include "cc/animation/animation_registrar.h" |
| 14 #include "cc/animation/layer_animation_controller.h" | 15 #include "cc/animation/layer_animation_controller.h" |
| 15 #include "cc/animation/timing_function.h" | 16 #include "cc/animation/timing_function.h" |
| 16 #include "cc/base/switches.h" | 17 #include "cc/base/switches.h" |
| 17 #include "cc/input/input_handler.h" | 18 #include "cc/input/input_handler.h" |
| 18 #include "cc/layers/layer.h" | 19 #include "cc/layers/layer.h" |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 outer_viewport_scroll_layer->SetBounds(scroll_bounds); | 84 outer_viewport_scroll_layer->SetBounds(scroll_bounds); |
| 84 outer_viewport_scroll_layer->SetIsDrawable(true); | 85 outer_viewport_scroll_layer->SetIsDrawable(true); |
| 85 CreateVirtualViewportLayers(root_layer, outer_viewport_scroll_layer, | 86 CreateVirtualViewportLayers(root_layer, outer_viewport_scroll_layer, |
| 86 inner_bounds, outer_bounds, host); | 87 inner_bounds, outer_bounds, host); |
| 87 } | 88 } |
| 88 | 89 |
| 89 // Creates a SingleThreadProxy that notifies the supplied |test_hooks| of | 90 // Creates a SingleThreadProxy that notifies the supplied |test_hooks| of |
| 90 // various actions. | 91 // various actions. |
| 91 class SingleThreadProxyForTest : public SingleThreadProxy { | 92 class SingleThreadProxyForTest : public SingleThreadProxy { |
| 92 public: | 93 public: |
| 93 static scoped_ptr<Proxy> Create(TestHooks* test_hooks, | 94 static std::unique_ptr<Proxy> Create( |
| 94 LayerTreeHost* host, | 95 TestHooks* test_hooks, |
| 95 LayerTreeHostSingleThreadClient* client, | 96 LayerTreeHost* host, |
| 96 TaskRunnerProvider* task_runner_provider) { | 97 LayerTreeHostSingleThreadClient* client, |
| 97 return make_scoped_ptr(new SingleThreadProxyForTest( | 98 TaskRunnerProvider* task_runner_provider) { |
| 99 return base::WrapUnique(new SingleThreadProxyForTest( |
| 98 test_hooks, host, client, task_runner_provider)); | 100 test_hooks, host, client, task_runner_provider)); |
| 99 } | 101 } |
| 100 | 102 |
| 101 ~SingleThreadProxyForTest() override {} | 103 ~SingleThreadProxyForTest() override {} |
| 102 | 104 |
| 103 private: | 105 private: |
| 104 SingleThreadProxyForTest(TestHooks* test_hooks, | 106 SingleThreadProxyForTest(TestHooks* test_hooks, |
| 105 LayerTreeHost* host, | 107 LayerTreeHost* host, |
| 106 LayerTreeHostSingleThreadClient* client, | 108 LayerTreeHostSingleThreadClient* client, |
| 107 TaskRunnerProvider* task_runner_provider) | 109 TaskRunnerProvider* task_runner_provider) |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 SingleThreadProxy::SendBeginMainFrameNotExpectedSoon(); | 147 SingleThreadProxy::SendBeginMainFrameNotExpectedSoon(); |
| 146 test_hooks_->SendBeginMainFrameNotExpectedSoon(); | 148 test_hooks_->SendBeginMainFrameNotExpectedSoon(); |
| 147 } | 149 } |
| 148 | 150 |
| 149 TestHooks* test_hooks_; | 151 TestHooks* test_hooks_; |
| 150 }; | 152 }; |
| 151 | 153 |
| 152 // Adapts LayerTreeHostImpl for test. Runs real code, then invokes test hooks. | 154 // Adapts LayerTreeHostImpl for test. Runs real code, then invokes test hooks. |
| 153 class LayerTreeHostImplForTesting : public LayerTreeHostImpl { | 155 class LayerTreeHostImplForTesting : public LayerTreeHostImpl { |
| 154 public: | 156 public: |
| 155 static scoped_ptr<LayerTreeHostImplForTesting> Create( | 157 static std::unique_ptr<LayerTreeHostImplForTesting> Create( |
| 156 TestHooks* test_hooks, | 158 TestHooks* test_hooks, |
| 157 const LayerTreeSettings& settings, | 159 const LayerTreeSettings& settings, |
| 158 LayerTreeHostImplClient* host_impl_client, | 160 LayerTreeHostImplClient* host_impl_client, |
| 159 TaskRunnerProvider* task_runner_provider, | 161 TaskRunnerProvider* task_runner_provider, |
| 160 SharedBitmapManager* shared_bitmap_manager, | 162 SharedBitmapManager* shared_bitmap_manager, |
| 161 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, | 163 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
| 162 TaskGraphRunner* task_graph_runner, | 164 TaskGraphRunner* task_graph_runner, |
| 163 RenderingStatsInstrumentation* stats_instrumentation) { | 165 RenderingStatsInstrumentation* stats_instrumentation) { |
| 164 return make_scoped_ptr(new LayerTreeHostImplForTesting( | 166 return base::WrapUnique(new LayerTreeHostImplForTesting( |
| 165 test_hooks, settings, host_impl_client, task_runner_provider, | 167 test_hooks, settings, host_impl_client, task_runner_provider, |
| 166 shared_bitmap_manager, gpu_memory_buffer_manager, task_graph_runner, | 168 shared_bitmap_manager, gpu_memory_buffer_manager, task_graph_runner, |
| 167 stats_instrumentation)); | 169 stats_instrumentation)); |
| 168 } | 170 } |
| 169 | 171 |
| 170 protected: | 172 protected: |
| 171 LayerTreeHostImplForTesting( | 173 LayerTreeHostImplForTesting( |
| 172 TestHooks* test_hooks, | 174 TestHooks* test_hooks, |
| 173 const LayerTreeSettings& settings, | 175 const LayerTreeSettings& settings, |
| 174 LayerTreeHostImplClient* host_impl_client, | 176 LayerTreeHostImplClient* host_impl_client, |
| 175 TaskRunnerProvider* task_runner_provider, | 177 TaskRunnerProvider* task_runner_provider, |
| 176 SharedBitmapManager* shared_bitmap_manager, | 178 SharedBitmapManager* shared_bitmap_manager, |
| 177 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, | 179 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
| 178 TaskGraphRunner* task_graph_runner, | 180 TaskGraphRunner* task_graph_runner, |
| 179 RenderingStatsInstrumentation* stats_instrumentation) | 181 RenderingStatsInstrumentation* stats_instrumentation) |
| 180 : LayerTreeHostImpl(settings, | 182 : LayerTreeHostImpl(settings, |
| 181 host_impl_client, | 183 host_impl_client, |
| 182 task_runner_provider, | 184 task_runner_provider, |
| 183 stats_instrumentation, | 185 stats_instrumentation, |
| 184 shared_bitmap_manager, | 186 shared_bitmap_manager, |
| 185 gpu_memory_buffer_manager, | 187 gpu_memory_buffer_manager, |
| 186 task_graph_runner, | 188 task_graph_runner, |
| 187 0), | 189 0), |
| 188 test_hooks_(test_hooks), | 190 test_hooks_(test_hooks), |
| 189 block_notify_ready_to_activate_for_testing_(false), | 191 block_notify_ready_to_activate_for_testing_(false), |
| 190 notify_ready_to_activate_was_blocked_(false) {} | 192 notify_ready_to_activate_was_blocked_(false) {} |
| 191 | 193 |
| 192 void CreateResourceAndTileTaskWorkerPool( | 194 void CreateResourceAndTileTaskWorkerPool( |
| 193 scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool, | 195 std::unique_ptr<TileTaskWorkerPool>* tile_task_worker_pool, |
| 194 scoped_ptr<ResourcePool>* resource_pool) override { | 196 std::unique_ptr<ResourcePool>* resource_pool) override { |
| 195 test_hooks_->CreateResourceAndTileTaskWorkerPool( | 197 test_hooks_->CreateResourceAndTileTaskWorkerPool( |
| 196 this, tile_task_worker_pool, resource_pool); | 198 this, tile_task_worker_pool, resource_pool); |
| 197 } | 199 } |
| 198 | 200 |
| 199 void WillBeginImplFrame(const BeginFrameArgs& args) override { | 201 void WillBeginImplFrame(const BeginFrameArgs& args) override { |
| 200 LayerTreeHostImpl::WillBeginImplFrame(args); | 202 LayerTreeHostImpl::WillBeginImplFrame(args); |
| 201 test_hooks_->WillBeginImplFrameOnThread(this, args); | 203 test_hooks_->WillBeginImplFrameOnThread(this, args); |
| 202 } | 204 } |
| 203 | 205 |
| 204 void DidFinishImplFrame() override { | 206 void DidFinishImplFrame() override { |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 private: | 330 private: |
| 329 TestHooks* test_hooks_; | 331 TestHooks* test_hooks_; |
| 330 bool block_notify_ready_to_activate_for_testing_; | 332 bool block_notify_ready_to_activate_for_testing_; |
| 331 bool notify_ready_to_activate_was_blocked_; | 333 bool notify_ready_to_activate_was_blocked_; |
| 332 }; | 334 }; |
| 333 | 335 |
| 334 // Implementation of LayerTreeHost callback interface. | 336 // Implementation of LayerTreeHost callback interface. |
| 335 class LayerTreeHostClientForTesting : public LayerTreeHostClient, | 337 class LayerTreeHostClientForTesting : public LayerTreeHostClient, |
| 336 public LayerTreeHostSingleThreadClient { | 338 public LayerTreeHostSingleThreadClient { |
| 337 public: | 339 public: |
| 338 static scoped_ptr<LayerTreeHostClientForTesting> Create( | 340 static std::unique_ptr<LayerTreeHostClientForTesting> Create( |
| 339 TestHooks* test_hooks) { | 341 TestHooks* test_hooks) { |
| 340 return make_scoped_ptr(new LayerTreeHostClientForTesting(test_hooks)); | 342 return base::WrapUnique(new LayerTreeHostClientForTesting(test_hooks)); |
| 341 } | 343 } |
| 342 ~LayerTreeHostClientForTesting() override {} | 344 ~LayerTreeHostClientForTesting() override {} |
| 343 | 345 |
| 344 void WillBeginMainFrame() override { test_hooks_->WillBeginMainFrame(); } | 346 void WillBeginMainFrame() override { test_hooks_->WillBeginMainFrame(); } |
| 345 | 347 |
| 346 void DidBeginMainFrame() override { test_hooks_->DidBeginMainFrame(); } | 348 void DidBeginMainFrame() override { test_hooks_->DidBeginMainFrame(); } |
| 347 | 349 |
| 348 void BeginMainFrame(const BeginFrameArgs& args) override { | 350 void BeginMainFrame(const BeginFrameArgs& args) override { |
| 349 test_hooks_->BeginMainFrame(args); | 351 test_hooks_->BeginMainFrame(args); |
| 350 } | 352 } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 test_hooks_->DidCompleteSwapBuffers(); | 394 test_hooks_->DidCompleteSwapBuffers(); |
| 393 } | 395 } |
| 394 | 396 |
| 395 void DidPostSwapBuffers() override {} | 397 void DidPostSwapBuffers() override {} |
| 396 void DidAbortSwapBuffers() override {} | 398 void DidAbortSwapBuffers() override {} |
| 397 void RequestScheduleComposite() override { test_hooks_->ScheduleComposite(); } | 399 void RequestScheduleComposite() override { test_hooks_->ScheduleComposite(); } |
| 398 void DidCompletePageScaleAnimation() override {} | 400 void DidCompletePageScaleAnimation() override {} |
| 399 void BeginMainFrameNotExpectedSoon() override {} | 401 void BeginMainFrameNotExpectedSoon() override {} |
| 400 | 402 |
| 401 void RecordFrameTimingEvents( | 403 void RecordFrameTimingEvents( |
| 402 scoped_ptr<FrameTimingTracker::CompositeTimingSet> composite_events, | 404 std::unique_ptr<FrameTimingTracker::CompositeTimingSet> composite_events, |
| 403 scoped_ptr<FrameTimingTracker::MainFrameTimingSet> main_frame_events) | 405 std::unique_ptr<FrameTimingTracker::MainFrameTimingSet> main_frame_events) |
| 404 override {} | 406 override {} |
| 405 | 407 |
| 406 private: | 408 private: |
| 407 explicit LayerTreeHostClientForTesting(TestHooks* test_hooks) | 409 explicit LayerTreeHostClientForTesting(TestHooks* test_hooks) |
| 408 : test_hooks_(test_hooks) {} | 410 : test_hooks_(test_hooks) {} |
| 409 | 411 |
| 410 TestHooks* test_hooks_; | 412 TestHooks* test_hooks_; |
| 411 }; | 413 }; |
| 412 | 414 |
| 413 // Adapts LayerTreeHost for test. Injects LayerTreeHostImplForTesting. | 415 // Adapts LayerTreeHost for test. Injects LayerTreeHostImplForTesting. |
| 414 class LayerTreeHostForTesting : public LayerTreeHost { | 416 class LayerTreeHostForTesting : public LayerTreeHost { |
| 415 public: | 417 public: |
| 416 static scoped_ptr<LayerTreeHostForTesting> Create( | 418 static std::unique_ptr<LayerTreeHostForTesting> Create( |
| 417 TestHooks* test_hooks, | 419 TestHooks* test_hooks, |
| 418 CompositorMode mode, | 420 CompositorMode mode, |
| 419 LayerTreeHostClientForTesting* client, | 421 LayerTreeHostClientForTesting* client, |
| 420 RemoteProtoChannel* remote_proto_channel, | 422 RemoteProtoChannel* remote_proto_channel, |
| 421 SharedBitmapManager* shared_bitmap_manager, | 423 SharedBitmapManager* shared_bitmap_manager, |
| 422 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, | 424 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
| 423 TaskGraphRunner* task_graph_runner, | 425 TaskGraphRunner* task_graph_runner, |
| 424 const LayerTreeSettings& settings, | 426 const LayerTreeSettings& settings, |
| 425 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, | 427 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, |
| 426 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, | 428 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, |
| 427 scoped_ptr<BeginFrameSource> external_begin_frame_source) { | 429 std::unique_ptr<BeginFrameSource> external_begin_frame_source) { |
| 428 LayerTreeHost::InitParams params; | 430 LayerTreeHost::InitParams params; |
| 429 params.client = client; | 431 params.client = client; |
| 430 params.shared_bitmap_manager = shared_bitmap_manager; | 432 params.shared_bitmap_manager = shared_bitmap_manager; |
| 431 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager; | 433 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager; |
| 432 params.task_graph_runner = task_graph_runner; | 434 params.task_graph_runner = task_graph_runner; |
| 433 params.settings = &settings; | 435 params.settings = &settings; |
| 434 scoped_ptr<LayerTreeHostForTesting> layer_tree_host( | 436 std::unique_ptr<LayerTreeHostForTesting> layer_tree_host( |
| 435 new LayerTreeHostForTesting(test_hooks, ¶ms, mode)); | 437 new LayerTreeHostForTesting(test_hooks, ¶ms, mode)); |
| 436 scoped_ptr<TaskRunnerProvider> task_runner_provider = | 438 std::unique_ptr<TaskRunnerProvider> task_runner_provider = |
| 437 TaskRunnerProvider::Create(main_task_runner, impl_task_runner); | 439 TaskRunnerProvider::Create(main_task_runner, impl_task_runner); |
| 438 scoped_ptr<Proxy> proxy; | 440 std::unique_ptr<Proxy> proxy; |
| 439 switch (mode) { | 441 switch (mode) { |
| 440 case CompositorMode::SINGLE_THREADED: | 442 case CompositorMode::SINGLE_THREADED: |
| 441 proxy = SingleThreadProxyForTest::Create(test_hooks, | 443 proxy = SingleThreadProxyForTest::Create(test_hooks, |
| 442 layer_tree_host.get(), client, | 444 layer_tree_host.get(), client, |
| 443 task_runner_provider.get()); | 445 task_runner_provider.get()); |
| 444 break; | 446 break; |
| 445 case CompositorMode::THREADED: | 447 case CompositorMode::THREADED: |
| 446 DCHECK(impl_task_runner.get()); | 448 DCHECK(impl_task_runner.get()); |
| 447 proxy = ProxyMainForTest::CreateThreaded( | 449 proxy = ProxyMainForTest::CreateThreaded( |
| 448 test_hooks, layer_tree_host.get(), task_runner_provider.get()); | 450 test_hooks, layer_tree_host.get(), task_runner_provider.get()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 464 layer_tree_host->SetOutputSurfaceLostForTesting(false); | 466 layer_tree_host->SetOutputSurfaceLostForTesting(false); |
| 465 } | 467 } |
| 466 break; | 468 break; |
| 467 } | 469 } |
| 468 layer_tree_host->InitializeForTesting( | 470 layer_tree_host->InitializeForTesting( |
| 469 std::move(task_runner_provider), std::move(proxy), | 471 std::move(task_runner_provider), std::move(proxy), |
| 470 std::move(external_begin_frame_source)); | 472 std::move(external_begin_frame_source)); |
| 471 return layer_tree_host; | 473 return layer_tree_host; |
| 472 } | 474 } |
| 473 | 475 |
| 474 scoped_ptr<LayerTreeHostImpl> CreateLayerTreeHostImpl( | 476 std::unique_ptr<LayerTreeHostImpl> CreateLayerTreeHostImpl( |
| 475 LayerTreeHostImplClient* host_impl_client) override { | 477 LayerTreeHostImplClient* host_impl_client) override { |
| 476 return LayerTreeHostImplForTesting::Create( | 478 return LayerTreeHostImplForTesting::Create( |
| 477 test_hooks_, settings(), host_impl_client, task_runner_provider(), | 479 test_hooks_, settings(), host_impl_client, task_runner_provider(), |
| 478 shared_bitmap_manager(), gpu_memory_buffer_manager(), | 480 shared_bitmap_manager(), gpu_memory_buffer_manager(), |
| 479 task_graph_runner(), rendering_stats_instrumentation()); | 481 task_graph_runner(), rendering_stats_instrumentation()); |
| 480 } | 482 } |
| 481 | 483 |
| 482 void SetNeedsCommit() override { | 484 void SetNeedsCommit() override { |
| 483 if (!test_started_) | 485 if (!test_started_) |
| 484 return; | 486 return; |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 655 } | 657 } |
| 656 | 658 |
| 657 void LayerTreeTest::PostNextCommitWaitsForActivationToMainThread() { | 659 void LayerTreeTest::PostNextCommitWaitsForActivationToMainThread() { |
| 658 main_task_runner_->PostTask( | 660 main_task_runner_->PostTask( |
| 659 FROM_HERE, | 661 FROM_HERE, |
| 660 base::Bind(&LayerTreeTest::DispatchNextCommitWaitsForActivation, | 662 base::Bind(&LayerTreeTest::DispatchNextCommitWaitsForActivation, |
| 661 main_thread_weak_ptr_)); | 663 main_thread_weak_ptr_)); |
| 662 } | 664 } |
| 663 | 665 |
| 664 void LayerTreeTest::SetOutputSurfaceOnLayerTreeHost( | 666 void LayerTreeTest::SetOutputSurfaceOnLayerTreeHost( |
| 665 scoped_ptr<OutputSurface> output_surface) { | 667 std::unique_ptr<OutputSurface> output_surface) { |
| 666 if (IsRemoteTest()) { | 668 if (IsRemoteTest()) { |
| 667 DCHECK(remote_client_layer_tree_host_); | 669 DCHECK(remote_client_layer_tree_host_); |
| 668 remote_client_layer_tree_host_->SetOutputSurface(std::move(output_surface)); | 670 remote_client_layer_tree_host_->SetOutputSurface(std::move(output_surface)); |
| 669 } else { | 671 } else { |
| 670 layer_tree_host_->SetOutputSurface(std::move(output_surface)); | 672 layer_tree_host_->SetOutputSurface(std::move(output_surface)); |
| 671 } | 673 } |
| 672 } | 674 } |
| 673 | 675 |
| 674 scoped_ptr<OutputSurface> LayerTreeTest::ReleaseOutputSurfaceOnLayerTreeHost() { | 676 std::unique_ptr<OutputSurface> |
| 677 LayerTreeTest::ReleaseOutputSurfaceOnLayerTreeHost() { |
| 675 if (IsRemoteTest()) { | 678 if (IsRemoteTest()) { |
| 676 DCHECK(remote_client_layer_tree_host_); | 679 DCHECK(remote_client_layer_tree_host_); |
| 677 return remote_client_layer_tree_host_->ReleaseOutputSurface(); | 680 return remote_client_layer_tree_host_->ReleaseOutputSurface(); |
| 678 } | 681 } |
| 679 return layer_tree_host_->ReleaseOutputSurface(); | 682 return layer_tree_host_->ReleaseOutputSurface(); |
| 680 } | 683 } |
| 681 | 684 |
| 682 void LayerTreeTest::SetVisibleOnLayerTreeHost(bool visible) { | 685 void LayerTreeTest::SetVisibleOnLayerTreeHost(bool visible) { |
| 683 layer_tree_host_->SetVisible(visible); | 686 layer_tree_host_->SetVisible(visible); |
| 684 | 687 |
| 685 if (IsRemoteTest()) { | 688 if (IsRemoteTest()) { |
| 686 DCHECK(remote_client_layer_tree_host_); | 689 DCHECK(remote_client_layer_tree_host_); |
| 687 remote_client_layer_tree_host_->SetVisible(visible); | 690 remote_client_layer_tree_host_->SetVisible(visible); |
| 688 } | 691 } |
| 689 } | 692 } |
| 690 | 693 |
| 691 void LayerTreeTest::WillBeginTest() { | 694 void LayerTreeTest::WillBeginTest() { |
| 692 SetVisibleOnLayerTreeHost(true); | 695 SetVisibleOnLayerTreeHost(true); |
| 693 } | 696 } |
| 694 | 697 |
| 695 void LayerTreeTest::DoBeginTest() { | 698 void LayerTreeTest::DoBeginTest() { |
| 696 client_ = LayerTreeHostClientForTesting::Create(this); | 699 client_ = LayerTreeHostClientForTesting::Create(this); |
| 697 | 700 |
| 698 scoped_ptr<FakeExternalBeginFrameSource> external_begin_frame_source; | 701 std::unique_ptr<FakeExternalBeginFrameSource> external_begin_frame_source; |
| 699 if (settings_.use_external_begin_frame_source) { | 702 if (settings_.use_external_begin_frame_source) { |
| 700 DCHECK(!IsRemoteTest()); | 703 DCHECK(!IsRemoteTest()); |
| 701 external_begin_frame_source.reset(new FakeExternalBeginFrameSource( | 704 external_begin_frame_source.reset(new FakeExternalBeginFrameSource( |
| 702 settings_.renderer_settings.refresh_rate)); | 705 settings_.renderer_settings.refresh_rate)); |
| 703 external_begin_frame_source_ = external_begin_frame_source.get(); | 706 external_begin_frame_source_ = external_begin_frame_source.get(); |
| 704 } | 707 } |
| 705 | 708 |
| 706 DCHECK(!impl_thread_ || impl_thread_->task_runner().get()); | 709 DCHECK(!impl_thread_ || impl_thread_->task_runner().get()); |
| 707 | 710 |
| 708 if (IsRemoteTest()) { | 711 if (IsRemoteTest()) { |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 898 FAIL() << "Test timed out"; | 901 FAIL() << "Test timed out"; |
| 899 return; | 902 return; |
| 900 } | 903 } |
| 901 AfterTest(); | 904 AfterTest(); |
| 902 } | 905 } |
| 903 | 906 |
| 904 void LayerTreeTest::RequestNewOutputSurface() { | 907 void LayerTreeTest::RequestNewOutputSurface() { |
| 905 SetOutputSurfaceOnLayerTreeHost(CreateOutputSurface()); | 908 SetOutputSurfaceOnLayerTreeHost(CreateOutputSurface()); |
| 906 } | 909 } |
| 907 | 910 |
| 908 scoped_ptr<OutputSurface> LayerTreeTest::CreateOutputSurface() { | 911 std::unique_ptr<OutputSurface> LayerTreeTest::CreateOutputSurface() { |
| 909 scoped_ptr<FakeOutputSurface> output_surface = CreateFakeOutputSurface(); | 912 std::unique_ptr<FakeOutputSurface> output_surface = CreateFakeOutputSurface(); |
| 910 DCHECK_EQ(delegating_renderer_, | 913 DCHECK_EQ(delegating_renderer_, |
| 911 output_surface->capabilities().delegated_rendering); | 914 output_surface->capabilities().delegated_rendering); |
| 912 output_surface_ = output_surface.get(); | 915 output_surface_ = output_surface.get(); |
| 913 | 916 |
| 914 if (settings_.use_external_begin_frame_source && | 917 if (settings_.use_external_begin_frame_source && |
| 915 settings_.wait_for_beginframe_interval) { | 918 settings_.wait_for_beginframe_interval) { |
| 916 DCHECK(external_begin_frame_source_); | 919 DCHECK(external_begin_frame_source_); |
| 917 } | 920 } |
| 918 return std::move(output_surface); | 921 return std::move(output_surface); |
| 919 } | 922 } |
| 920 | 923 |
| 921 scoped_ptr<FakeOutputSurface> LayerTreeTest::CreateFakeOutputSurface() { | 924 std::unique_ptr<FakeOutputSurface> LayerTreeTest::CreateFakeOutputSurface() { |
| 922 if (delegating_renderer_) | 925 if (delegating_renderer_) |
| 923 return FakeOutputSurface::CreateDelegating3d(); | 926 return FakeOutputSurface::CreateDelegating3d(); |
| 924 else | 927 else |
| 925 return FakeOutputSurface::Create3d(); | 928 return FakeOutputSurface::Create3d(); |
| 926 } | 929 } |
| 927 | 930 |
| 928 TestWebGraphicsContext3D* LayerTreeTest::TestContext() { | 931 TestWebGraphicsContext3D* LayerTreeTest::TestContext() { |
| 929 return static_cast<TestContextProvider*>(output_surface_->context_provider()) | 932 return static_cast<TestContextProvider*>(output_surface_->context_provider()) |
| 930 ->TestContext3d(); | 933 ->TestContext3d(); |
| 931 } | 934 } |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1036 | 1039 |
| 1037 RemoteChannelImplForTest* LayerTreeTest::GetRemoteChannelImplForTest() const { | 1040 RemoteChannelImplForTest* LayerTreeTest::GetRemoteChannelImplForTest() const { |
| 1038 DCHECK(IsRemoteTest()); | 1041 DCHECK(IsRemoteTest()); |
| 1039 DCHECK(remote_client_layer_tree_host_); | 1042 DCHECK(remote_client_layer_tree_host_); |
| 1040 | 1043 |
| 1041 return static_cast<RemoteChannelImplForTest*>( | 1044 return static_cast<RemoteChannelImplForTest*>( |
| 1042 remote_client_layer_tree_host_->proxy()); | 1045 remote_client_layer_tree_host_->proxy()); |
| 1043 } | 1046 } |
| 1044 | 1047 |
| 1045 } // namespace cc | 1048 } // namespace cc |
| OLD | NEW |