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

Side by Side Diff: cc/trees/layer_tree_host_unittest_damage.cc

Issue 2661523003: cc: Merge LayerTree into the LayerTreeHost. (Closed)
Patch Set: auto Created 3 years, 10 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/trees/layer_tree_host.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 12 matching lines...) Expand all
23 class LayerTreeHostDamageTest : public LayerTreeTest {}; 23 class LayerTreeHostDamageTest : public LayerTreeTest {};
24 24
25 // LayerTreeHost::SetNeedsRedraw should damage the whole viewport. 25 // LayerTreeHost::SetNeedsRedraw should damage the whole viewport.
26 class LayerTreeHostDamageTestSetNeedsRedraw 26 class LayerTreeHostDamageTestSetNeedsRedraw
27 : public LayerTreeHostDamageTest { 27 : public LayerTreeHostDamageTest {
28 void SetupTree() override { 28 void SetupTree() override {
29 // Viewport is 10x10. 29 // Viewport is 10x10.
30 scoped_refptr<FakePictureLayer> root = FakePictureLayer::Create(&client_); 30 scoped_refptr<FakePictureLayer> root = FakePictureLayer::Create(&client_);
31 root->SetBounds(gfx::Size(10, 10)); 31 root->SetBounds(gfx::Size(10, 10));
32 32
33 layer_tree()->SetRootLayer(root); 33 layer_tree_host()->SetRootLayer(root);
34 LayerTreeHostDamageTest::SetupTree(); 34 LayerTreeHostDamageTest::SetupTree();
35 client_.set_bounds(root->bounds()); 35 client_.set_bounds(root->bounds());
36 } 36 }
37 37
38 void BeginTest() override { 38 void BeginTest() override {
39 draw_count_ = 0; 39 draw_count_ = 0;
40 PostSetNeedsCommitToMainThread(); 40 PostSetNeedsCommitToMainThread();
41 } 41 }
42 42
43 void DidCommitAndDrawFrame() override { 43 void DidCommitAndDrawFrame() override {
44 switch (layer_tree_host()->SourceFrameNumber()) { 44 switch (layer_tree_host()->SourceFrameNumber()) {
45 case 1: 45 case 1:
46 layer_tree_host()->SetNeedsRedrawRect( 46 layer_tree_host()->SetNeedsRedrawRect(
47 gfx::Rect(layer_tree()->device_viewport_size())); 47 gfx::Rect(layer_tree_host()->device_viewport_size()));
48 break; 48 break;
49 } 49 }
50 } 50 }
51 51
52 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* impl, 52 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* impl,
53 LayerTreeHostImpl::FrameData* frame_data, 53 LayerTreeHostImpl::FrameData* frame_data,
54 DrawResult draw_result) override { 54 DrawResult draw_result) override {
55 EXPECT_EQ(DRAW_SUCCESS, draw_result); 55 EXPECT_EQ(DRAW_SUCCESS, draw_result);
56 56
57 RenderSurfaceImpl* root_surface = 57 RenderSurfaceImpl* root_surface =
(...skipping 29 matching lines...) Expand all
87 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestSetNeedsRedraw); 87 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestSetNeedsRedraw);
88 88
89 // LayerTreeHost::SetViewportSize should damage the whole viewport. 89 // LayerTreeHost::SetViewportSize should damage the whole viewport.
90 class LayerTreeHostDamageTestSetViewportSize 90 class LayerTreeHostDamageTestSetViewportSize
91 : public LayerTreeHostDamageTest { 91 : public LayerTreeHostDamageTest {
92 void SetupTree() override { 92 void SetupTree() override {
93 // Viewport is 10x10. 93 // Viewport is 10x10.
94 scoped_refptr<FakePictureLayer> root = FakePictureLayer::Create(&client_); 94 scoped_refptr<FakePictureLayer> root = FakePictureLayer::Create(&client_);
95 root->SetBounds(gfx::Size(10, 10)); 95 root->SetBounds(gfx::Size(10, 10));
96 96
97 layer_tree()->SetRootLayer(root); 97 layer_tree_host()->SetRootLayer(root);
98 LayerTreeHostDamageTest::SetupTree(); 98 LayerTreeHostDamageTest::SetupTree();
99 client_.set_bounds(root->bounds()); 99 client_.set_bounds(root->bounds());
100 } 100 }
101 101
102 void BeginTest() override { 102 void BeginTest() override {
103 draw_count_ = 0; 103 draw_count_ = 0;
104 PostSetNeedsCommitToMainThread(); 104 PostSetNeedsCommitToMainThread();
105 } 105 }
106 106
107 void DidCommitAndDrawFrame() override { 107 void DidCommitAndDrawFrame() override {
108 switch (layer_tree_host()->SourceFrameNumber()) { 108 switch (layer_tree_host()->SourceFrameNumber()) {
109 case 1: 109 case 1:
110 layer_tree()->SetViewportSize(gfx::Size(15, 15)); 110 layer_tree_host()->SetViewportSize(gfx::Size(15, 15));
111 break; 111 break;
112 } 112 }
113 } 113 }
114 114
115 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* impl, 115 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* impl,
116 LayerTreeHostImpl::FrameData* frame_data, 116 LayerTreeHostImpl::FrameData* frame_data,
117 DrawResult draw_result) override { 117 DrawResult draw_result) override {
118 EXPECT_EQ(DRAW_SUCCESS, draw_result); 118 EXPECT_EQ(DRAW_SUCCESS, draw_result);
119 119
120 RenderSurfaceImpl* root_surface = 120 RenderSurfaceImpl* root_surface =
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 157
158 void SetupTree() override { 158 void SetupTree() override {
159 scoped_refptr<FakePictureLayer> root = FakePictureLayer::Create(&client_); 159 scoped_refptr<FakePictureLayer> root = FakePictureLayer::Create(&client_);
160 root->SetBounds(gfx::Size(10, 10)); 160 root->SetBounds(gfx::Size(10, 10));
161 161
162 // Most of the layer isn't visible. 162 // Most of the layer isn't visible.
163 content_ = FakePictureLayer::Create(&client_); 163 content_ = FakePictureLayer::Create(&client_);
164 content_->SetBounds(gfx::Size(2000, 100)); 164 content_->SetBounds(gfx::Size(2000, 100));
165 root->AddChild(content_); 165 root->AddChild(content_);
166 166
167 layer_tree()->SetRootLayer(root); 167 layer_tree_host()->SetRootLayer(root);
168 LayerTreeHostDamageTest::SetupTree(); 168 LayerTreeHostDamageTest::SetupTree();
169 client_.set_bounds(root->bounds()); 169 client_.set_bounds(root->bounds());
170 } 170 }
171 171
172 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, 172 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
173 LayerTreeHostImpl::FrameData* frame_data, 173 LayerTreeHostImpl::FrameData* frame_data,
174 DrawResult draw_result) override { 174 DrawResult draw_result) override {
175 EXPECT_EQ(DRAW_SUCCESS, draw_result); 175 EXPECT_EQ(DRAW_SUCCESS, draw_result);
176 176
177 int source_frame = host_impl->active_tree()->source_frame_number(); 177 int source_frame = host_impl->active_tree()->source_frame_number();
(...skipping 29 matching lines...) Expand all
207 207
208 void DidCommit() override { 208 void DidCommit() override {
209 int next_frame = layer_tree_host()->SourceFrameNumber(); 209 int next_frame = layer_tree_host()->SourceFrameNumber();
210 switch (next_frame) { 210 switch (next_frame) {
211 case 1: 211 case 1:
212 layer_tree_host()->SetNeedsCommit(); 212 layer_tree_host()->SetNeedsCommit();
213 break; 213 break;
214 case 2: 214 case 2:
215 // Cause visible damage. 215 // Cause visible damage.
216 content_->SetNeedsDisplayRect( 216 content_->SetNeedsDisplayRect(
217 gfx::Rect(layer_tree()->device_viewport_size())); 217 gfx::Rect(layer_tree_host()->device_viewport_size()));
218 break; 218 break;
219 case 3: 219 case 3:
220 // Cause non-visible damage. 220 // Cause non-visible damage.
221 content_->SetNeedsDisplayRect(gfx::Rect(1990, 1990, 10, 10)); 221 content_->SetNeedsDisplayRect(gfx::Rect(1990, 1990, 10, 10));
222 layer_tree_host()->SetNeedsCommit(); 222 layer_tree_host()->SetNeedsCommit();
223 break; 223 break;
224 } 224 }
225 } 225 }
226 226
227 void AfterTest() override { 227 void AfterTest() override {
(...skipping 14 matching lines...) Expand all
242 242
243 void SetupTree() override { 243 void SetupTree() override {
244 root_ = FakePictureLayer::Create(&client_); 244 root_ = FakePictureLayer::Create(&client_);
245 child_ = FakePictureLayer::Create(&client_); 245 child_ = FakePictureLayer::Create(&client_);
246 246
247 root_->SetBounds(gfx::Size(500, 500)); 247 root_->SetBounds(gfx::Size(500, 500));
248 child_->SetPosition(gfx::PointF(100.f, 100.f)); 248 child_->SetPosition(gfx::PointF(100.f, 100.f));
249 child_->SetBounds(gfx::Size(30, 30)); 249 child_->SetBounds(gfx::Size(30, 30));
250 250
251 root_->AddChild(child_); 251 root_->AddChild(child_);
252 layer_tree()->SetRootLayer(root_); 252 layer_tree_host()->SetRootLayer(root_);
253 LayerTreeHostDamageTest::SetupTree(); 253 LayerTreeHostDamageTest::SetupTree();
254 client_.set_bounds(root_->bounds()); 254 client_.set_bounds(root_->bounds());
255 } 255 }
256 256
257 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, 257 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
258 LayerTreeHostImpl::FrameData* frame_data, 258 LayerTreeHostImpl::FrameData* frame_data,
259 DrawResult draw_result) override { 259 DrawResult draw_result) override {
260 EXPECT_EQ(DRAW_SUCCESS, draw_result); 260 EXPECT_EQ(DRAW_SUCCESS, draw_result);
261 261
262 RenderSurfaceImpl* root_surface = 262 RenderSurfaceImpl* root_surface =
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 gfx::Rect child_damage_rect_; 329 gfx::Rect child_damage_rect_;
330 }; 330 };
331 331
332 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestForcedFullDamage); 332 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestForcedFullDamage);
333 333
334 class LayerTreeHostScrollbarDamageTest : public LayerTreeHostDamageTest { 334 class LayerTreeHostScrollbarDamageTest : public LayerTreeHostDamageTest {
335 void SetupTree() override { 335 void SetupTree() override {
336 scoped_refptr<Layer> root_layer = Layer::Create(); 336 scoped_refptr<Layer> root_layer = Layer::Create();
337 root_layer->SetBounds(gfx::Size(400, 400)); 337 root_layer->SetBounds(gfx::Size(400, 400));
338 root_layer->SetMasksToBounds(true); 338 root_layer->SetMasksToBounds(true);
339 layer_tree()->SetRootLayer(root_layer); 339 layer_tree_host()->SetRootLayer(root_layer);
340 340
341 scoped_refptr<Layer> scroll_clip_layer = Layer::Create(); 341 scoped_refptr<Layer> scroll_clip_layer = Layer::Create();
342 content_layer_ = FakePictureLayer::Create(&client_); 342 content_layer_ = FakePictureLayer::Create(&client_);
343 content_layer_->SetScrollClipLayerId(scroll_clip_layer->id()); 343 content_layer_->SetScrollClipLayerId(scroll_clip_layer->id());
344 content_layer_->SetScrollOffset(gfx::ScrollOffset(10, 20)); 344 content_layer_->SetScrollOffset(gfx::ScrollOffset(10, 20));
345 content_layer_->SetBounds(gfx::Size(100, 200)); 345 content_layer_->SetBounds(gfx::Size(100, 200));
346 content_layer_->SetIsDrawable(true); 346 content_layer_->SetIsDrawable(true);
347 scroll_clip_layer->SetBounds( 347 scroll_clip_layer->SetBounds(
348 gfx::Size(content_layer_->bounds().width() - 30, 348 gfx::Size(content_layer_->bounds().width() - 30,
349 content_layer_->bounds().height() - 50)); 349 content_layer_->bounds().height() - 50));
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 } 440 }
441 } 441 }
442 442
443 void ModifyContentLayerPosition() { 443 void ModifyContentLayerPosition() {
444 EXPECT_EQ(1, num_draws_); 444 EXPECT_EQ(1, num_draws_);
445 content_layer_->SetPosition(gfx::PointF(10.f, 10.f)); 445 content_layer_->SetPosition(gfx::PointF(10.f, 10.f));
446 } 446 }
447 447
448 void ResizeScrollLayer() { 448 void ResizeScrollLayer() {
449 EXPECT_EQ(3, num_draws_); 449 EXPECT_EQ(3, num_draws_);
450 Layer* root = layer_tree()->root_layer(); 450 Layer* root = layer_tree_host()->root_layer();
451 content_layer_->SetBounds( 451 content_layer_->SetBounds(
452 gfx::Size(root->bounds().width() + 60, root->bounds().height() + 100)); 452 gfx::Size(root->bounds().width() + 60, root->bounds().height() + 100));
453 } 453 }
454 454
455 void AfterTest() override { EXPECT_EQ(4, num_draws_); } 455 void AfterTest() override { EXPECT_EQ(4, num_draws_); }
456 456
457 int num_draws_; 457 int num_draws_;
458 }; 458 };
459 459
460 MULTI_THREAD_TEST_F(LayerTreeHostDamageTestScrollbarDoesDamage); 460 MULTI_THREAD_TEST_F(LayerTreeHostDamageTestScrollbarDoesDamage);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 526
527 void AfterTest() override { EXPECT_EQ(3, num_draws_); } 527 void AfterTest() override { EXPECT_EQ(3, num_draws_); }
528 528
529 int num_draws_; 529 int num_draws_;
530 }; 530 };
531 531
532 MULTI_THREAD_TEST_F(LayerTreeHostDamageTestScrollbarCommitDoesNoDamage); 532 MULTI_THREAD_TEST_F(LayerTreeHostDamageTestScrollbarCommitDoesNoDamage);
533 533
534 } // namespace 534 } // namespace
535 } // namespace cc 535 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_unittest_copyrequest.cc ('k') | cc/trees/layer_tree_host_unittest_occlusion.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698