| 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 #include "ui/gfx/geometry/size_conversions.h" | 43 #include "ui/gfx/geometry/size_conversions.h" |
| 44 | 44 |
| 45 namespace cc { | 45 namespace cc { |
| 46 | 46 |
| 47 void CreateVirtualViewportLayers(Layer* root_layer, | 47 void CreateVirtualViewportLayers(Layer* root_layer, |
| 48 scoped_refptr<Layer> outer_scroll_layer, | 48 scoped_refptr<Layer> outer_scroll_layer, |
| 49 const gfx::Size& inner_bounds, | 49 const gfx::Size& inner_bounds, |
| 50 const gfx::Size& outer_bounds, | 50 const gfx::Size& outer_bounds, |
| 51 LayerTreeHost* host) { | 51 LayerTreeHost* host) { |
| 52 scoped_refptr<Layer> inner_viewport_container_layer = Layer::Create(); | 52 scoped_refptr<Layer> inner_viewport_container_layer = Layer::Create(); |
| 53 scoped_refptr<Layer> overscroll_elasticity_layer = Layer::Create(); |
| 53 scoped_refptr<Layer> inner_viewport_scroll_layer = Layer::Create(); | 54 scoped_refptr<Layer> inner_viewport_scroll_layer = Layer::Create(); |
| 54 scoped_refptr<Layer> outer_viewport_container_layer = Layer::Create(); | 55 scoped_refptr<Layer> outer_viewport_container_layer = Layer::Create(); |
| 55 scoped_refptr<Layer> page_scale_layer = Layer::Create(); | 56 scoped_refptr<Layer> page_scale_layer = Layer::Create(); |
| 56 | 57 |
| 57 root_layer->AddChild(inner_viewport_container_layer); | 58 root_layer->AddChild(inner_viewport_container_layer); |
| 58 inner_viewport_container_layer->AddChild(page_scale_layer); | 59 inner_viewport_container_layer->AddChild(overscroll_elasticity_layer); |
| 60 overscroll_elasticity_layer->AddChild(page_scale_layer); |
| 59 page_scale_layer->AddChild(inner_viewport_scroll_layer); | 61 page_scale_layer->AddChild(inner_viewport_scroll_layer); |
| 60 inner_viewport_scroll_layer->AddChild(outer_viewport_container_layer); | 62 inner_viewport_scroll_layer->AddChild(outer_viewport_container_layer); |
| 61 outer_viewport_container_layer->AddChild(outer_scroll_layer); | 63 outer_viewport_container_layer->AddChild(outer_scroll_layer); |
| 62 | 64 |
| 63 inner_viewport_scroll_layer->SetScrollClipLayerId( | 65 inner_viewport_scroll_layer->SetScrollClipLayerId( |
| 64 inner_viewport_container_layer->id()); | 66 inner_viewport_container_layer->id()); |
| 65 outer_scroll_layer->SetScrollClipLayerId( | 67 outer_scroll_layer->SetScrollClipLayerId( |
| 66 outer_viewport_container_layer->id()); | 68 outer_viewport_container_layer->id()); |
| 67 | 69 |
| 68 inner_viewport_container_layer->SetBounds(inner_bounds); | 70 inner_viewport_container_layer->SetBounds(inner_bounds); |
| 69 inner_viewport_scroll_layer->SetBounds(outer_bounds); | 71 inner_viewport_scroll_layer->SetBounds(outer_bounds); |
| 70 outer_viewport_container_layer->SetBounds(outer_bounds); | 72 outer_viewport_container_layer->SetBounds(outer_bounds); |
| 71 | 73 |
| 72 inner_viewport_scroll_layer->SetIsContainerForFixedPositionLayers(true); | 74 inner_viewport_scroll_layer->SetIsContainerForFixedPositionLayers(true); |
| 73 outer_scroll_layer->SetIsContainerForFixedPositionLayers(true); | 75 outer_scroll_layer->SetIsContainerForFixedPositionLayers(true); |
| 74 host->GetLayerTree()->RegisterViewportLayers( | 76 host->GetLayerTree()->RegisterViewportLayers( |
| 75 NULL, page_scale_layer, inner_viewport_scroll_layer, outer_scroll_layer); | 77 overscroll_elasticity_layer, page_scale_layer, |
| 78 inner_viewport_scroll_layer, outer_scroll_layer); |
| 76 } | 79 } |
| 77 | 80 |
| 78 void CreateVirtualViewportLayers(Layer* root_layer, | 81 void CreateVirtualViewportLayers(Layer* root_layer, |
| 79 const gfx::Size& inner_bounds, | 82 const gfx::Size& inner_bounds, |
| 80 const gfx::Size& outer_bounds, | 83 const gfx::Size& outer_bounds, |
| 81 const gfx::Size& scroll_bounds, | 84 const gfx::Size& scroll_bounds, |
| 82 LayerTreeHost* host) { | 85 LayerTreeHost* host) { |
| 83 scoped_refptr<Layer> outer_viewport_scroll_layer = Layer::Create(); | 86 scoped_refptr<Layer> outer_viewport_scroll_layer = Layer::Create(); |
| 84 | 87 |
| 85 outer_viewport_scroll_layer->SetBounds(scroll_bounds); | 88 outer_viewport_scroll_layer->SetBounds(scroll_bounds); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 LayerTreeHostImpl::CommitComplete(); | 171 LayerTreeHostImpl::CommitComplete(); |
| 169 test_hooks_->CommitCompleteOnThread(this); | 172 test_hooks_->CommitCompleteOnThread(this); |
| 170 } | 173 } |
| 171 | 174 |
| 172 bool PrepareTiles() override { | 175 bool PrepareTiles() override { |
| 173 test_hooks_->WillPrepareTilesOnThread(this); | 176 test_hooks_->WillPrepareTilesOnThread(this); |
| 174 return LayerTreeHostImpl::PrepareTiles(); | 177 return LayerTreeHostImpl::PrepareTiles(); |
| 175 } | 178 } |
| 176 | 179 |
| 177 DrawResult PrepareToDraw(FrameData* frame) override { | 180 DrawResult PrepareToDraw(FrameData* frame) override { |
| 181 test_hooks_->WillPrepareToDrawOnThread(this); |
| 178 DrawResult draw_result = LayerTreeHostImpl::PrepareToDraw(frame); | 182 DrawResult draw_result = LayerTreeHostImpl::PrepareToDraw(frame); |
| 179 return test_hooks_->PrepareToDrawOnThread(this, frame, draw_result); | 183 return test_hooks_->PrepareToDrawOnThread(this, frame, draw_result); |
| 180 } | 184 } |
| 181 | 185 |
| 182 void DrawLayers(FrameData* frame) override { | 186 void DrawLayers(FrameData* frame) override { |
| 183 LayerTreeHostImpl::DrawLayers(frame); | 187 LayerTreeHostImpl::DrawLayers(frame); |
| 184 test_hooks_->DrawLayersOnThread(this); | 188 test_hooks_->DrawLayersOnThread(this); |
| 185 } | 189 } |
| 186 | 190 |
| 187 void NotifyReadyToActivate() override { | 191 void NotifyReadyToActivate() override { |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 395 break; | 399 break; |
| 396 } | 400 } |
| 397 layer_tree_host->InitializeForTesting( | 401 layer_tree_host->InitializeForTesting( |
| 398 std::move(task_runner_provider), std::move(proxy), | 402 std::move(task_runner_provider), std::move(proxy), |
| 399 std::move(external_begin_frame_source)); | 403 std::move(external_begin_frame_source)); |
| 400 return layer_tree_host; | 404 return layer_tree_host; |
| 401 } | 405 } |
| 402 | 406 |
| 403 std::unique_ptr<LayerTreeHostImpl> CreateLayerTreeHostImpl( | 407 std::unique_ptr<LayerTreeHostImpl> CreateLayerTreeHostImpl( |
| 404 LayerTreeHostImplClient* host_impl_client) override { | 408 LayerTreeHostImplClient* host_impl_client) override { |
| 405 return LayerTreeHostImplForTesting::Create( | 409 std::unique_ptr<LayerTreeHostImpl> host_impl = |
| 406 test_hooks_, settings(), host_impl_client, task_runner_provider(), | 410 LayerTreeHostImplForTesting::Create( |
| 407 shared_bitmap_manager(), gpu_memory_buffer_manager(), | 411 test_hooks_, settings(), host_impl_client, task_runner_provider(), |
| 408 task_graph_runner(), rendering_stats_instrumentation()); | 412 shared_bitmap_manager(), gpu_memory_buffer_manager(), |
| 413 task_graph_runner(), rendering_stats_instrumentation()); |
| 414 input_handler_weak_ptr_ = host_impl->AsWeakPtr(); |
| 415 return host_impl; |
| 409 } | 416 } |
| 410 | 417 |
| 411 void SetNeedsCommit() override { | 418 void SetNeedsCommit() override { |
| 412 if (!test_started_) | 419 if (!test_started_) |
| 413 return; | 420 return; |
| 414 LayerTreeHost::SetNeedsCommit(); | 421 LayerTreeHost::SetNeedsCommit(); |
| 415 } | 422 } |
| 416 | 423 |
| 417 void SetNeedsUpdateLayers() override { | 424 void SetNeedsUpdateLayers() override { |
| 418 if (!test_started_) | 425 if (!test_started_) |
| (...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 937 } | 944 } |
| 938 | 945 |
| 939 LayerTreeHost* LayerTreeTest::remote_client_layer_tree_host() { | 946 LayerTreeHost* LayerTreeTest::remote_client_layer_tree_host() { |
| 940 DCHECK(IsRemoteTest()); | 947 DCHECK(IsRemoteTest()); |
| 941 DCHECK(task_runner_provider()->IsMainThread() || | 948 DCHECK(task_runner_provider()->IsMainThread() || |
| 942 task_runner_provider()->IsMainThreadBlocked()); | 949 task_runner_provider()->IsMainThreadBlocked()); |
| 943 return remote_client_layer_tree_host_.get(); | 950 return remote_client_layer_tree_host_.get(); |
| 944 } | 951 } |
| 945 | 952 |
| 946 } // namespace cc | 953 } // namespace cc |
| OLD | NEW |