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

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

Issue 22900018: cc: Set the mapped memory reclaim limit for the renderer compositor on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add comment Created 7 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
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 "cc/test/fake_content_layer.h" 7 #include "cc/test/fake_content_layer.h"
8 #include "cc/test/fake_content_layer_client.h" 8 #include "cc/test/fake_content_layer_client.h"
9 #include "cc/test/fake_scrollbar_layer.h" 9 #include "cc/test/fake_scrollbar_layer.h"
10 #include "cc/test/layer_tree_test.h" 10 #include "cc/test/layer_tree_test.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 break; 92 break;
93 } 93 }
94 } 94 }
95 95
96 virtual void AfterTest() OVERRIDE { 96 virtual void AfterTest() OVERRIDE {
97 EXPECT_EQ(4, did_swaps_); 97 EXPECT_EQ(4, did_swaps_);
98 EXPECT_EQ(2, expect_swap_and_succeed_); 98 EXPECT_EQ(2, expect_swap_and_succeed_);
99 EXPECT_EQ(expect_swap_and_succeed_, did_swap_and_succeed_); 99 EXPECT_EQ(expect_swap_and_succeed_, did_swap_and_succeed_);
100 } 100 }
101 101
102 virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE {
103 settings->max_bytes_pending_upload = 16 * 1024 * 1024;
104 }
105
102 FakeContentLayerClient client_; 106 FakeContentLayerClient client_;
103 scoped_refptr<FakeContentLayer> content_; 107 scoped_refptr<FakeContentLayer> content_;
104 int expect_swap_and_succeed_; 108 int expect_swap_and_succeed_;
105 int did_swaps_; 109 int did_swaps_;
106 int did_swap_and_succeed_; 110 int did_swap_and_succeed_;
107 }; 111 };
108 112
109 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestNoDamageDoesNotSwap); 113 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestNoDamageDoesNotSwap);
110 114
111 class LayerTreeHostDamageTestNoDamageReadbackDoesDraw 115 class LayerTreeHostDamageTestNoDamageReadbackDoesDraw
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 layer_tree_host()->CompositeAndReadback(static_cast<void*>(&pixels), 170 layer_tree_host()->CompositeAndReadback(static_cast<void*>(&pixels),
167 gfx::Rect(3, 3, 1, 1)); 171 gfx::Rect(3, 3, 1, 1));
168 EndTest(); 172 EndTest();
169 break; 173 break;
170 } 174 }
171 } 175 }
172 } 176 }
173 177
174 virtual void AfterTest() OVERRIDE {} 178 virtual void AfterTest() OVERRIDE {}
175 179
180 virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE {
181 settings->max_bytes_pending_upload = 16 * 1024 * 1024;
182 }
183
176 FakeContentLayerClient client_; 184 FakeContentLayerClient client_;
177 scoped_refptr<FakeContentLayer> content_; 185 scoped_refptr<FakeContentLayer> content_;
178 }; 186 };
179 187
180 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestNoDamageReadbackDoesDraw); 188 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestNoDamageReadbackDoesDraw);
181 189
182 class LayerTreeHostDamageTestForcedFullDamage : public LayerTreeHostDamageTest { 190 class LayerTreeHostDamageTestForcedFullDamage : public LayerTreeHostDamageTest {
183 virtual void BeginTest() OVERRIDE { 191 virtual void BeginTest() OVERRIDE {
184 PostSetNeedsCommitToMainThread(); 192 PostSetNeedsCommitToMainThread();
185 } 193 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 layer_tree_host()->SetNeedsCommit(); 279 layer_tree_host()->SetNeedsCommit();
272 280
273 if (!child_damage_rect_.IsEmpty()) { 281 if (!child_damage_rect_.IsEmpty()) {
274 child_->SetNeedsDisplayRect(child_damage_rect_); 282 child_->SetNeedsDisplayRect(child_damage_rect_);
275 child_damage_rect_ = gfx::RectF(); 283 child_damage_rect_ = gfx::RectF();
276 } 284 }
277 } 285 }
278 286
279 virtual void AfterTest() OVERRIDE {} 287 virtual void AfterTest() OVERRIDE {}
280 288
289 virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE {
290 settings->max_bytes_pending_upload = 16 * 1024 * 1024;
291 }
292
281 FakeContentLayerClient client_; 293 FakeContentLayerClient client_;
282 scoped_refptr<FakeContentLayer> root_; 294 scoped_refptr<FakeContentLayer> root_;
283 scoped_refptr<FakeContentLayer> child_; 295 scoped_refptr<FakeContentLayer> child_;
284 gfx::RectF child_damage_rect_; 296 gfx::RectF child_damage_rect_;
285 }; 297 };
286 298
287 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestForcedFullDamage); 299 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDamageTestForcedFullDamage);
288 300
289 class LayerTreeHostDamageTestScrollbarDoesDamage 301 class LayerTreeHostDamageTestScrollbarDoesDamage
290 : public LayerTreeHostDamageTest { 302 : public LayerTreeHostDamageTest {
291 virtual void BeginTest() OVERRIDE { 303 virtual void BeginTest() OVERRIDE {
292 did_swaps_ = 0; 304 did_swaps_ = 0;
293 PostSetNeedsCommitToMainThread(); 305 PostSetNeedsCommitToMainThread();
294 } 306 }
295 307
296 virtual void SetupTree() OVERRIDE { 308 virtual void SetupTree() OVERRIDE {
297 scoped_refptr<Layer> root_layer = Layer::Create(); 309 scoped_refptr<Layer> root_layer = Layer::Create();
298 root_layer->SetBounds(gfx::Size(400,400)); 310 root_layer->SetBounds(gfx::Size(400, 400));
299 layer_tree_host()->SetRootLayer(root_layer); 311 layer_tree_host()->SetRootLayer(root_layer);
300 312
301 scoped_refptr<Layer> content_layer = FakeContentLayer::Create(&client_); 313 scoped_refptr<Layer> content_layer = FakeContentLayer::Create(&client_);
302 content_layer->SetScrollable(true); 314 content_layer->SetScrollable(true);
303 content_layer->SetScrollOffset(gfx::Vector2d(10, 20)); 315 content_layer->SetScrollOffset(gfx::Vector2d(10, 20));
304 content_layer->SetMaxScrollOffset(gfx::Vector2d(30, 50)); 316 content_layer->SetMaxScrollOffset(gfx::Vector2d(30, 50));
305 content_layer->SetBounds(gfx::Size(100, 200)); 317 content_layer->SetBounds(gfx::Size(100, 200));
306 root_layer->AddChild(content_layer); 318 root_layer->AddChild(content_layer);
307 319
308 scoped_refptr<Layer> scrollbar_layer = 320 scoped_refptr<Layer> scrollbar_layer =
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 ++did_swaps_; 367 ++did_swaps_;
356 EXPECT_TRUE(result); 368 EXPECT_TRUE(result);
357 LayerImpl* root = host_impl->active_tree()->root_layer(); 369 LayerImpl* root = host_impl->active_tree()->root_layer();
358 LayerImpl* scroll_layer = root->children()[0]; 370 LayerImpl* scroll_layer = root->children()[0];
359 switch (did_swaps_) { 371 switch (did_swaps_) {
360 case 1: 372 case 1:
361 // Test that modifying the position of the content layer (not 373 // Test that modifying the position of the content layer (not
362 // scrolling) won't damage the scrollbar. Do this before the other 374 // scrolling) won't damage the scrollbar. Do this before the other
363 // tests, as they can cause commits that will later damage the 375 // tests, as they can cause commits that will later damage the
364 // scrollbar. http://crbug.com/276657 376 // scrollbar. http://crbug.com/276657
365 scroll_layer->SetPosition(gfx::Point(1,1)); 377 scroll_layer->SetPosition(gfx::Point(1, 1));
366 scroll_layer->SetScrollOffset(scroll_layer->scroll_offset()); 378 scroll_layer->SetScrollOffset(scroll_layer->scroll_offset());
367 host_impl->SetNeedsRedraw(); 379 host_impl->SetNeedsRedraw();
368 break; 380 break;
369 case 2: 381 case 2:
370 host_impl->ScrollBegin(gfx::Point(1,1), InputHandler::Wheel); 382 host_impl->ScrollBegin(gfx::Point(1, 1), InputHandler::Wheel);
371 EXPECT_TRUE(host_impl->ScrollBy(gfx::Point(), 383 EXPECT_TRUE(host_impl->ScrollBy(gfx::Point(),
372 gfx::Vector2dF(10.0, 10.0))); 384 gfx::Vector2dF(10.0, 10.0)));
373 break; 385 break;
374 case 3: 386 case 3:
375 scroll_layer->SetMaxScrollOffset(gfx::Vector2d(60, 100)); 387 scroll_layer->SetMaxScrollOffset(gfx::Vector2d(60, 100));
376 host_impl->SetNeedsRedraw(); 388 host_impl->SetNeedsRedraw();
377 break; 389 break;
378 } 390 }
379
380 } 391 }
381 392
382 virtual void AfterTest() OVERRIDE { 393 virtual void AfterTest() OVERRIDE {
383 EXPECT_EQ(4, did_swaps_); 394 EXPECT_EQ(4, did_swaps_);
384 } 395 }
385 396
397 virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE {
398 settings->max_bytes_pending_upload = 16 * 1024 * 1024;
399 }
400
386 FakeContentLayerClient client_; 401 FakeContentLayerClient client_;
387 int did_swaps_; 402 int did_swaps_;
388 }; 403 };
389 404
390 MULTI_THREAD_TEST_F(LayerTreeHostDamageTestScrollbarDoesDamage); 405 MULTI_THREAD_TEST_F(LayerTreeHostDamageTestScrollbarDoesDamage);
391 406
392 } // namespace 407 } // namespace
393 } // namespace cc 408 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698