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

Side by Side Diff: cc/layers/scrollbar_layer_unittest.cc

Issue 448303002: Use custom ListContainer to allocate DrawQuads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@perftest
Patch Set: change header files to try fix compile error Created 6 years, 2 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 | « cc/layers/picture_layer_impl_unittest.cc ('k') | cc/layers/solid_color_layer_impl_unittest.cc » ('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 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 "base/containers/hash_tables.h" 5 #include "base/containers/hash_tables.h"
6 #include "cc/animation/scrollbar_animation_controller.h" 6 #include "cc/animation/scrollbar_animation_controller.h"
7 #include "cc/layers/append_quads_data.h" 7 #include "cc/layers/append_quads_data.h"
8 #include "cc/layers/painted_scrollbar_layer.h" 8 #include "cc/layers/painted_scrollbar_layer.h"
9 #include "cc/layers/painted_scrollbar_layer_impl.h" 9 #include "cc/layers/painted_scrollbar_layer_impl.h"
10 #include "cc/layers/scrollbar_layer_interface.h" 10 #include "cc/layers/scrollbar_layer_interface.h"
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 // Thickness should be overridden to 3. 346 // Thickness should be overridden to 3.
347 { 347 {
348 MockOcclusionTracker<LayerImpl> occlusion_tracker; 348 MockOcclusionTracker<LayerImpl> occlusion_tracker;
349 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 349 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
350 AppendQuadsData data; 350 AppendQuadsData data;
351 scrollbar_layer_impl->AppendQuads( 351 scrollbar_layer_impl->AppendQuads(
352 render_pass.get(), occlusion_tracker, &data); 352 render_pass.get(), occlusion_tracker, &data);
353 353
354 const QuadList& quads = render_pass->quad_list; 354 const QuadList& quads = render_pass->quad_list;
355 ASSERT_EQ(1u, quads.size()); 355 ASSERT_EQ(1u, quads.size());
356 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); 356 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material);
357 EXPECT_RECT_EQ(gfx::Rect(6, 0, 39, 3), quads[0]->rect); 357 EXPECT_RECT_EQ(gfx::Rect(6, 0, 39, 3), quads.front()->rect);
358 } 358 }
359 359
360 // Contents scale should scale the draw quad. 360 // Contents scale should scale the draw quad.
361 scrollbar_layer_impl->draw_properties().contents_scale_x = 2.f; 361 scrollbar_layer_impl->draw_properties().contents_scale_x = 2.f;
362 scrollbar_layer_impl->draw_properties().contents_scale_y = 2.f; 362 scrollbar_layer_impl->draw_properties().contents_scale_y = 2.f;
363 { 363 {
364 MockOcclusionTracker<LayerImpl> occlusion_tracker; 364 MockOcclusionTracker<LayerImpl> occlusion_tracker;
365 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 365 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
366 AppendQuadsData data; 366 AppendQuadsData data;
367 scrollbar_layer_impl->AppendQuads( 367 scrollbar_layer_impl->AppendQuads(
368 render_pass.get(), occlusion_tracker, &data); 368 render_pass.get(), occlusion_tracker, &data);
369 369
370 const QuadList& quads = render_pass->quad_list; 370 const QuadList& quads = render_pass->quad_list;
371 ASSERT_EQ(1u, quads.size()); 371 ASSERT_EQ(1u, quads.size());
372 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); 372 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material);
373 EXPECT_RECT_EQ(gfx::Rect(12, 0, 78, 6), quads[0]->rect); 373 EXPECT_RECT_EQ(gfx::Rect(12, 0, 78, 6), quads.front()->rect);
374 } 374 }
375 scrollbar_layer_impl->draw_properties().contents_scale_x = 1.f; 375 scrollbar_layer_impl->draw_properties().contents_scale_x = 1.f;
376 scrollbar_layer_impl->draw_properties().contents_scale_y = 1.f; 376 scrollbar_layer_impl->draw_properties().contents_scale_y = 1.f;
377 377
378 // For solid color scrollbars, position and size should reflect the 378 // For solid color scrollbars, position and size should reflect the
379 // current viewport state. 379 // current viewport state.
380 scrollbar_layer_impl->SetVisibleToTotalLengthRatio(0.2f); 380 scrollbar_layer_impl->SetVisibleToTotalLengthRatio(0.2f);
381 { 381 {
382 MockOcclusionTracker<LayerImpl> occlusion_tracker; 382 MockOcclusionTracker<LayerImpl> occlusion_tracker;
383 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 383 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
384 AppendQuadsData data; 384 AppendQuadsData data;
385 scrollbar_layer_impl->AppendQuads( 385 scrollbar_layer_impl->AppendQuads(
386 render_pass.get(), occlusion_tracker, &data); 386 render_pass.get(), occlusion_tracker, &data);
387 387
388 const QuadList& quads = render_pass->quad_list; 388 const QuadList& quads = render_pass->quad_list;
389 ASSERT_EQ(1u, quads.size()); 389 ASSERT_EQ(1u, quads.size());
390 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); 390 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material);
391 EXPECT_RECT_EQ(gfx::Rect(8, 0, 19, 3), quads[0]->rect); 391 EXPECT_RECT_EQ(gfx::Rect(8, 0, 19, 3), quads.front()->rect);
392 } 392 }
393 393
394 // We shouldn't attempt div-by-zero when the maximum is zero. 394 // We shouldn't attempt div-by-zero when the maximum is zero.
395 scrollbar_layer_impl->SetCurrentPos(0.f); 395 scrollbar_layer_impl->SetCurrentPos(0.f);
396 scrollbar_layer_impl->SetMaximum(0); 396 scrollbar_layer_impl->SetMaximum(0);
397 { 397 {
398 MockOcclusionTracker<LayerImpl> occlusion_tracker; 398 MockOcclusionTracker<LayerImpl> occlusion_tracker;
399 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 399 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
400 AppendQuadsData data; 400 AppendQuadsData data;
401 scrollbar_layer_impl->AppendQuads( 401 scrollbar_layer_impl->AppendQuads(
402 render_pass.get(), occlusion_tracker, &data); 402 render_pass.get(), occlusion_tracker, &data);
403 403
404 const QuadList& quads = render_pass->quad_list; 404 const QuadList& quads = render_pass->quad_list;
405 ASSERT_EQ(1u, quads.size()); 405 ASSERT_EQ(1u, quads.size());
406 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); 406 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material);
407 EXPECT_RECT_EQ(gfx::Rect(1, 0, 19, 3), quads[0]->rect); 407 EXPECT_RECT_EQ(gfx::Rect(1, 0, 19, 3), quads.front()->rect);
408 } 408 }
409 } 409 }
410 410
411 TEST(ScrollbarLayerTest, LayerDrivenSolidColorDrawQuads) { 411 TEST(ScrollbarLayerTest, LayerDrivenSolidColorDrawQuads) {
412 const int kThumbThickness = 3; 412 const int kThumbThickness = 3;
413 const int kTrackStart = 0; 413 const int kTrackStart = 0;
414 const int kTrackLength = 10; 414 const int kTrackLength = 10;
415 415
416 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); 416 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D);
417 LayerTreeSettings layer_tree_settings; 417 LayerTreeSettings layer_tree_settings;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 { 457 {
458 MockOcclusionTracker<LayerImpl> occlusion_tracker; 458 MockOcclusionTracker<LayerImpl> occlusion_tracker;
459 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 459 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
460 460
461 AppendQuadsData data; 461 AppendQuadsData data;
462 scrollbar_layer_impl->AppendQuads( 462 scrollbar_layer_impl->AppendQuads(
463 render_pass.get(), occlusion_tracker, &data); 463 render_pass.get(), occlusion_tracker, &data);
464 464
465 const QuadList& quads = render_pass->quad_list; 465 const QuadList& quads = render_pass->quad_list;
466 ASSERT_EQ(1u, quads.size()); 466 ASSERT_EQ(1u, quads.size());
467 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); 467 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material);
468 EXPECT_RECT_EQ(gfx::Rect(3, 0, 3, 3), quads[0]->rect); 468 EXPECT_RECT_EQ(gfx::Rect(3, 0, 3, 3), quads.front()->rect);
469 } 469 }
470 } 470 }
471 471
472 class ScrollbarLayerSolidColorThumbTest : public testing::Test { 472 class ScrollbarLayerSolidColorThumbTest : public testing::Test {
473 public: 473 public:
474 ScrollbarLayerSolidColorThumbTest() { 474 ScrollbarLayerSolidColorThumbTest() {
475 LayerTreeSettings layer_tree_settings; 475 LayerTreeSettings layer_tree_settings;
476 host_impl_.reset(new FakeLayerTreeHostImpl( 476 host_impl_.reset(new FakeLayerTreeHostImpl(
477 layer_tree_settings, &proxy_, &shared_bitmap_manager_)); 477 layer_tree_settings, &proxy_, &shared_bitmap_manager_));
478 478
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
1103 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f); 1103 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f);
1104 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f); 1104 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f);
1105 1105
1106 // Horizontal Scrollbars. 1106 // Horizontal Scrollbars.
1107 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f); 1107 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f);
1108 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f); 1108 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f);
1109 } 1109 }
1110 1110
1111 } // namespace 1111 } // namespace
1112 } // namespace cc 1112 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/picture_layer_impl_unittest.cc ('k') | cc/layers/solid_color_layer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698