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

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

Issue 1122393003: CC: Plumb LayerSettings parameter for cc::Layer construction. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 7 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/message_loop/message_loop_proxy.h" 10 #include "base/message_loop/message_loop_proxy.h"
(...skipping 10 matching lines...) Expand all
21 namespace { 21 namespace {
22 22
23 // These tests deal with damage tracking. 23 // These tests deal with damage tracking.
24 class LayerTreeHostDamageTest : public LayerTreeTest {}; 24 class LayerTreeHostDamageTest : public LayerTreeTest {};
25 25
26 // LayerTreeHost::SetNeedsRedraw should damage the whole viewport. 26 // LayerTreeHost::SetNeedsRedraw should damage the whole viewport.
27 class LayerTreeHostDamageTestSetNeedsRedraw 27 class LayerTreeHostDamageTestSetNeedsRedraw
28 : public LayerTreeHostDamageTest { 28 : public LayerTreeHostDamageTest {
29 void SetupTree() override { 29 void SetupTree() override {
30 // Viewport is 10x10. 30 // Viewport is 10x10.
31 scoped_refptr<FakeContentLayer> root = FakeContentLayer::Create(&client_); 31 scoped_refptr<FakeContentLayer> root =
32 FakeContentLayer::Create(layer_settings(), &client_);
32 root->SetBounds(gfx::Size(10, 10)); 33 root->SetBounds(gfx::Size(10, 10));
33 34
34 layer_tree_host()->SetRootLayer(root); 35 layer_tree_host()->SetRootLayer(root);
35 LayerTreeHostDamageTest::SetupTree(); 36 LayerTreeHostDamageTest::SetupTree();
36 } 37 }
37 38
38 void BeginTest() override { 39 void BeginTest() override {
39 draw_count_ = 0; 40 draw_count_ = 0;
40 PostSetNeedsCommitToMainThread(); 41 PostSetNeedsCommitToMainThread();
41 } 42 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 FakeContentLayerClient client_; 83 FakeContentLayerClient client_;
83 }; 84 };
84 85
85 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestSetNeedsRedraw); 86 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestSetNeedsRedraw);
86 87
87 // LayerTreeHost::SetViewportSize should damage the whole viewport. 88 // LayerTreeHost::SetViewportSize should damage the whole viewport.
88 class LayerTreeHostDamageTestSetViewportSize 89 class LayerTreeHostDamageTestSetViewportSize
89 : public LayerTreeHostDamageTest { 90 : public LayerTreeHostDamageTest {
90 void SetupTree() override { 91 void SetupTree() override {
91 // Viewport is 10x10. 92 // Viewport is 10x10.
92 scoped_refptr<FakeContentLayer> root = FakeContentLayer::Create(&client_); 93 scoped_refptr<FakeContentLayer> root =
94 FakeContentLayer::Create(layer_settings(), &client_);
93 root->SetBounds(gfx::Size(10, 10)); 95 root->SetBounds(gfx::Size(10, 10));
94 96
95 layer_tree_host()->SetRootLayer(root); 97 layer_tree_host()->SetRootLayer(root);
96 LayerTreeHostDamageTest::SetupTree(); 98 LayerTreeHostDamageTest::SetupTree();
97 } 99 }
98 100
99 void BeginTest() override { 101 void BeginTest() override {
100 draw_count_ = 0; 102 draw_count_ = 0;
101 PostSetNeedsCommitToMainThread(); 103 PostSetNeedsCommitToMainThread();
102 } 104 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 class LayerTreeHostDamageTestNoDamageDoesNotSwap 150 class LayerTreeHostDamageTestNoDamageDoesNotSwap
149 : public LayerTreeHostDamageTest { 151 : public LayerTreeHostDamageTest {
150 void BeginTest() override { 152 void BeginTest() override {
151 expect_swap_and_succeed_ = 0; 153 expect_swap_and_succeed_ = 0;
152 did_swaps_ = 0; 154 did_swaps_ = 0;
153 did_swap_and_succeed_ = 0; 155 did_swap_and_succeed_ = 0;
154 PostSetNeedsCommitToMainThread(); 156 PostSetNeedsCommitToMainThread();
155 } 157 }
156 158
157 void SetupTree() override { 159 void SetupTree() override {
158 scoped_refptr<FakeContentLayer> root = FakeContentLayer::Create(&client_); 160 scoped_refptr<FakeContentLayer> root =
161 FakeContentLayer::Create(layer_settings(), &client_);
159 root->SetBounds(gfx::Size(10, 10)); 162 root->SetBounds(gfx::Size(10, 10));
160 163
161 // Most of the layer isn't visible. 164 // Most of the layer isn't visible.
162 content_ = FakeContentLayer::Create(&client_); 165 content_ = FakeContentLayer::Create(layer_settings(), &client_);
163 content_->SetBounds(gfx::Size(2000, 100)); 166 content_->SetBounds(gfx::Size(2000, 100));
164 root->AddChild(content_); 167 root->AddChild(content_);
165 168
166 layer_tree_host()->SetRootLayer(root); 169 layer_tree_host()->SetRootLayer(root);
167 LayerTreeHostDamageTest::SetupTree(); 170 LayerTreeHostDamageTest::SetupTree();
168 } 171 }
169 172
170 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, 173 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
171 LayerTreeHostImpl::FrameData* frame_data, 174 LayerTreeHostImpl::FrameData* frame_data,
172 DrawResult draw_result) override { 175 DrawResult draw_result) override {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 int did_swap_and_succeed_; 236 int did_swap_and_succeed_;
234 }; 237 };
235 238
236 SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F( 239 SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(
237 LayerTreeHostDamageTestNoDamageDoesNotSwap); 240 LayerTreeHostDamageTestNoDamageDoesNotSwap);
238 241
239 class LayerTreeHostDamageTestForcedFullDamage : public LayerTreeHostDamageTest { 242 class LayerTreeHostDamageTestForcedFullDamage : public LayerTreeHostDamageTest {
240 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 243 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
241 244
242 void SetupTree() override { 245 void SetupTree() override {
243 root_ = FakeContentLayer::Create(&client_); 246 root_ = FakeContentLayer::Create(layer_settings(), &client_);
244 child_ = FakeContentLayer::Create(&client_); 247 child_ = FakeContentLayer::Create(layer_settings(), &client_);
245 248
246 root_->SetBounds(gfx::Size(500, 500)); 249 root_->SetBounds(gfx::Size(500, 500));
247 child_->SetPosition(gfx::Point(100, 100)); 250 child_->SetPosition(gfx::Point(100, 100));
248 child_->SetBounds(gfx::Size(30, 30)); 251 child_->SetBounds(gfx::Size(30, 30));
249 252
250 root_->AddChild(child_); 253 root_->AddChild(child_);
251 layer_tree_host()->SetRootLayer(root_); 254 layer_tree_host()->SetRootLayer(root_);
252 LayerTreeHostDamageTest::SetupTree(); 255 LayerTreeHostDamageTest::SetupTree();
253 } 256 }
254 257
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 FakeContentLayerClient client_; 345 FakeContentLayerClient client_;
343 scoped_refptr<FakeContentLayer> root_; 346 scoped_refptr<FakeContentLayer> root_;
344 scoped_refptr<FakeContentLayer> child_; 347 scoped_refptr<FakeContentLayer> child_;
345 gfx::Rect child_damage_rect_; 348 gfx::Rect child_damage_rect_;
346 }; 349 };
347 350
348 SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(LayerTreeHostDamageTestForcedFullDamage); 351 SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(LayerTreeHostDamageTestForcedFullDamage);
349 352
350 class LayerTreeHostScrollbarDamageTest : public LayerTreeHostDamageTest { 353 class LayerTreeHostScrollbarDamageTest : public LayerTreeHostDamageTest {
351 void SetupTree() override { 354 void SetupTree() override {
352 scoped_refptr<Layer> root_layer = Layer::Create(); 355 scoped_refptr<Layer> root_layer = Layer::Create(layer_settings());
353 root_layer->SetBounds(gfx::Size(400, 400)); 356 root_layer->SetBounds(gfx::Size(400, 400));
354 root_layer->SetMasksToBounds(true); 357 root_layer->SetMasksToBounds(true);
355 layer_tree_host()->SetRootLayer(root_layer); 358 layer_tree_host()->SetRootLayer(root_layer);
356 359
357 scoped_refptr<Layer> scroll_clip_layer = Layer::Create(); 360 scoped_refptr<Layer> scroll_clip_layer = Layer::Create(layer_settings());
358 scoped_refptr<Layer> content_layer = FakeContentLayer::Create(&client_); 361 scoped_refptr<Layer> content_layer =
362 FakeContentLayer::Create(layer_settings(), &client_);
359 content_layer->SetScrollClipLayerId(scroll_clip_layer->id()); 363 content_layer->SetScrollClipLayerId(scroll_clip_layer->id());
360 content_layer->SetScrollOffset(gfx::ScrollOffset(10, 20)); 364 content_layer->SetScrollOffset(gfx::ScrollOffset(10, 20));
361 content_layer->SetBounds(gfx::Size(100, 200)); 365 content_layer->SetBounds(gfx::Size(100, 200));
362 scroll_clip_layer->SetBounds( 366 scroll_clip_layer->SetBounds(
363 gfx::Size(content_layer->bounds().width() - 30, 367 gfx::Size(content_layer->bounds().width() - 30,
364 content_layer->bounds().height() - 50)); 368 content_layer->bounds().height() - 50));
365 scroll_clip_layer->AddChild(content_layer); 369 scroll_clip_layer->AddChild(content_layer);
366 root_layer->AddChild(scroll_clip_layer); 370 root_layer->AddChild(scroll_clip_layer);
367 371
368 scoped_refptr<Layer> scrollbar_layer = 372 scoped_refptr<Layer> scrollbar_layer = FakePaintedScrollbarLayer::Create(
369 FakePaintedScrollbarLayer::Create(false, true, content_layer->id()); 373 layer_settings(), false, true, content_layer->id());
370 scrollbar_layer->SetPosition(gfx::Point(300, 300)); 374 scrollbar_layer->SetPosition(gfx::Point(300, 300));
371 scrollbar_layer->SetBounds(gfx::Size(10, 100)); 375 scrollbar_layer->SetBounds(gfx::Size(10, 100));
372 scrollbar_layer->ToScrollbarLayer()->SetClipLayer(scroll_clip_layer->id()); 376 scrollbar_layer->ToScrollbarLayer()->SetClipLayer(scroll_clip_layer->id());
373 scrollbar_layer->ToScrollbarLayer()->SetScrollLayer(content_layer->id()); 377 scrollbar_layer->ToScrollbarLayer()->SetScrollLayer(content_layer->id());
374 root_layer->AddChild(scrollbar_layer); 378 root_layer->AddChild(scrollbar_layer);
375 379
376 gfx::RectF content_rect(content_layer->position(), 380 gfx::RectF content_rect(content_layer->position(),
377 content_layer->bounds()); 381 content_layer->bounds());
378 gfx::RectF scrollbar_rect(scrollbar_layer->position(), 382 gfx::RectF scrollbar_rect(scrollbar_layer->position(),
379 scrollbar_layer->bounds()); 383 scrollbar_layer->bounds());
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 529
526 void AfterTest() override { EXPECT_EQ(3, did_swaps_); } 530 void AfterTest() override { EXPECT_EQ(3, did_swaps_); }
527 531
528 int did_swaps_; 532 int did_swaps_;
529 }; 533 };
530 534
531 MULTI_THREAD_TEST_F(LayerTreeHostDamageTestScrollbarCommitDoesNoDamage); 535 MULTI_THREAD_TEST_F(LayerTreeHostDamageTestScrollbarCommitDoesNoDamage);
532 536
533 } // namespace 537 } // namespace
534 } // namespace cc 538 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_unittest_copyrequest.cc ('k') | cc/trees/layer_tree_host_unittest_delegated.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698