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

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

Issue 2261383002: cc: Add a test for the elastic overscroll synchronization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: overflow fix. 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 | « no previous file | cc/test/test_hooks.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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | cc/test/test_hooks.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698