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

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

Issue 1866203004: Convert //cc from scoped_ptr to std::unique_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptrcc: rebase Created 4 years, 8 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/render_surface_unittest.cc ('k') | cc/layers/solid_color_layer.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 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <unordered_map> 7 #include <unordered_map>
8 8
9 #include "base/thread_task_runner_handle.h" 9 #include "base/thread_task_runner_handle.h"
10 #include "cc/input/scrollbar_animation_controller.h" 10 #include "cc/input/scrollbar_animation_controller.h"
(...skipping 19 matching lines...) Expand all
30 #include "cc/trees/layer_tree_impl.h" 30 #include "cc/trees/layer_tree_impl.h"
31 #include "cc/trees/occlusion_tracker.h" 31 #include "cc/trees/occlusion_tracker.h"
32 #include "cc/trees/single_thread_proxy.h" 32 #include "cc/trees/single_thread_proxy.h"
33 #include "cc/trees/tree_synchronizer.h" 33 #include "cc/trees/tree_synchronizer.h"
34 #include "testing/gmock/include/gmock/gmock.h" 34 #include "testing/gmock/include/gmock/gmock.h"
35 #include "testing/gtest/include/gtest/gtest.h" 35 #include "testing/gtest/include/gtest/gtest.h"
36 36
37 namespace cc { 37 namespace cc {
38 namespace { 38 namespace {
39 39
40 LayerImpl* LayerImplForScrollAreaAndScrollbar(FakeLayerTreeHost* host, 40 LayerImpl* LayerImplForScrollAreaAndScrollbar(
41 scoped_ptr<Scrollbar> scrollbar, 41 FakeLayerTreeHost* host,
42 bool reverse_order, 42 std::unique_ptr<Scrollbar> scrollbar,
43 bool use_solid_color_scrollbar, 43 bool reverse_order,
44 int thumb_thickness, 44 bool use_solid_color_scrollbar,
45 int track_start) { 45 int thumb_thickness,
46 int track_start) {
46 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 47 scoped_refptr<Layer> layer_tree_root = Layer::Create();
47 scoped_refptr<Layer> child1 = Layer::Create(); 48 scoped_refptr<Layer> child1 = Layer::Create();
48 scoped_refptr<Layer> child2; 49 scoped_refptr<Layer> child2;
49 if (use_solid_color_scrollbar) { 50 if (use_solid_color_scrollbar) {
50 const bool kIsLeftSideVerticalScrollbar = false; 51 const bool kIsLeftSideVerticalScrollbar = false;
51 child2 = SolidColorScrollbarLayer::Create( 52 child2 = SolidColorScrollbarLayer::Create(
52 scrollbar->Orientation(), thumb_thickness, track_start, 53 scrollbar->Orientation(), thumb_thickness, track_start,
53 kIsLeftSideVerticalScrollbar, child1->id()); 54 kIsLeftSideVerticalScrollbar, child1->id());
54 } else { 55 } else {
55 child2 = PaintedScrollbarLayer::Create(std::move(scrollbar), child1->id()); 56 child2 = PaintedScrollbarLayer::Create(std::move(scrollbar), child1->id());
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 fake_client_.SetLayerTreeHost(layer_tree_host_.get()); 135 fake_client_.SetLayerTreeHost(layer_tree_host_.get());
135 // Force output surface creation for renderer capabilities. 136 // Force output surface creation for renderer capabilities.
136 layer_tree_host_->Composite(base::TimeTicks()); 137 layer_tree_host_->Composite(base::TimeTicks());
137 EXPECT_FALSE(layer_tree_host_->output_surface_lost()); 138 EXPECT_FALSE(layer_tree_host_->output_surface_lost());
138 } 139 }
139 140
140 protected: 141 protected:
141 FakeLayerTreeHostClient fake_client_; 142 FakeLayerTreeHostClient fake_client_;
142 TestTaskGraphRunner task_graph_runner_; 143 TestTaskGraphRunner task_graph_runner_;
143 LayerTreeSettings layer_tree_settings_; 144 LayerTreeSettings layer_tree_settings_;
144 scoped_ptr<FakeResourceTrackingLayerTreeHost> layer_tree_host_; 145 std::unique_ptr<FakeResourceTrackingLayerTreeHost> layer_tree_host_;
145 }; 146 };
146 147
147 TEST_F(ScrollbarLayerTest, ShouldScrollNonOverlayOnMainThread) { 148 TEST_F(ScrollbarLayerTest, ShouldScrollNonOverlayOnMainThread) {
148 // Create and attach a non-overlay scrollbar. 149 // Create and attach a non-overlay scrollbar.
149 scoped_ptr<Scrollbar> scrollbar(new FakeScrollbar); 150 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar);
150 LayerImpl* layer_impl_tree_root = LayerImplForScrollAreaAndScrollbar( 151 LayerImpl* layer_impl_tree_root = LayerImplForScrollAreaAndScrollbar(
151 layer_tree_host_.get(), std::move(scrollbar), false, false, 0, 0); 152 layer_tree_host_.get(), std::move(scrollbar), false, false, 0, 0);
152 PaintedScrollbarLayerImpl* scrollbar_layer_impl = 153 PaintedScrollbarLayerImpl* scrollbar_layer_impl =
153 static_cast<PaintedScrollbarLayerImpl*>( 154 static_cast<PaintedScrollbarLayerImpl*>(
154 layer_impl_tree_root->children()[1]); 155 layer_impl_tree_root->children()[1]);
155 layer_impl_tree_root->layer_tree_impl()->BuildPropertyTreesForTesting(); 156 layer_impl_tree_root->layer_tree_impl()->BuildPropertyTreesForTesting();
156 ScrollTree& scroll_tree = 157 ScrollTree& scroll_tree =
157 layer_impl_tree_root->layer_tree_impl()->property_trees()->scroll_tree; 158 layer_impl_tree_root->layer_tree_impl()->property_trees()->scroll_tree;
158 ScrollNode* scroll_node = 159 ScrollNode* scroll_node =
159 scroll_tree.Node(scrollbar_layer_impl->scroll_tree_index()); 160 scroll_tree.Node(scrollbar_layer_impl->scroll_tree_index());
(...skipping 22 matching lines...) Expand all
182 // The user shouldn't be able to drag an overlay scrollbar and the scroll 183 // The user shouldn't be able to drag an overlay scrollbar and the scroll
183 // may be handled in the compositor. 184 // may be handled in the compositor.
184 status = layer_tree_host_->host_impl()->TryScroll( 185 status = layer_tree_host_->host_impl()->TryScroll(
185 gfx::PointF(), InputHandler::TOUCHSCREEN, scroll_tree, scroll_node); 186 gfx::PointF(), InputHandler::TOUCHSCREEN, scroll_tree, scroll_node);
186 EXPECT_EQ(InputHandler::SCROLL_IGNORED, status.thread); 187 EXPECT_EQ(InputHandler::SCROLL_IGNORED, status.thread);
187 EXPECT_EQ(MainThreadScrollingReason::kNotScrollable, 188 EXPECT_EQ(MainThreadScrollingReason::kNotScrollable,
188 status.main_thread_scrolling_reasons); 189 status.main_thread_scrolling_reasons);
189 } 190 }
190 191
191 TEST_F(ScrollbarLayerTest, ScrollOffsetSynchronization) { 192 TEST_F(ScrollbarLayerTest, ScrollOffsetSynchronization) {
192 scoped_ptr<Scrollbar> scrollbar(new FakeScrollbar); 193 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar);
193 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 194 scoped_refptr<Layer> layer_tree_root = Layer::Create();
194 scoped_refptr<Layer> scroll_layer = Layer::Create(); 195 scoped_refptr<Layer> scroll_layer = Layer::Create();
195 scoped_refptr<Layer> content_layer = Layer::Create(); 196 scoped_refptr<Layer> content_layer = Layer::Create();
196 scoped_refptr<Layer> scrollbar_layer = PaintedScrollbarLayer::Create( 197 scoped_refptr<Layer> scrollbar_layer = PaintedScrollbarLayer::Create(
197 std::move(scrollbar), layer_tree_root->id()); 198 std::move(scrollbar), layer_tree_root->id());
198 199
199 // Choose bounds to give max_scroll_offset = (30, 50). 200 // Choose bounds to give max_scroll_offset = (30, 50).
200 layer_tree_root->SetBounds(gfx::Size(70, 150)); 201 layer_tree_root->SetBounds(gfx::Size(70, 150));
201 scroll_layer->SetScrollClipLayerId(layer_tree_root->id()); 202 scroll_layer->SetScrollClipLayerId(layer_tree_root->id());
202 scroll_layer->SetScrollOffset(gfx::ScrollOffset(10, 20)); 203 scroll_layer->SetScrollOffset(gfx::ScrollOffset(10, 20));
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 UPDATE_AND_EXTRACT_LAYER_POINTERS(); 374 UPDATE_AND_EXTRACT_LAYER_POINTERS();
374 EXPECT_EQ(gfx::Rect(44, 0, 6, 4).ToString(), 375 EXPECT_EQ(gfx::Rect(44, 0, 6, 4).ToString(),
375 scrollbar_layer_impl->ComputeThumbQuadRect().ToString()); 376 scrollbar_layer_impl->ComputeThumbQuadRect().ToString());
376 } 377 }
377 378
378 TEST_F(ScrollbarLayerTest, SolidColorDrawQuads) { 379 TEST_F(ScrollbarLayerTest, SolidColorDrawQuads) {
379 const int kThumbThickness = 3; 380 const int kThumbThickness = 3;
380 const int kTrackStart = 1; 381 const int kTrackStart = 1;
381 const int kTrackLength = 100; 382 const int kTrackLength = 100;
382 383
383 scoped_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true)); 384 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true));
384 LayerImpl* layer_impl_tree_root = LayerImplForScrollAreaAndScrollbar( 385 LayerImpl* layer_impl_tree_root = LayerImplForScrollAreaAndScrollbar(
385 layer_tree_host_.get(), std::move(scrollbar), false, true, 386 layer_tree_host_.get(), std::move(scrollbar), false, true,
386 kThumbThickness, kTrackStart); 387 kThumbThickness, kTrackStart);
387 ScrollbarLayerImplBase* scrollbar_layer_impl = 388 ScrollbarLayerImplBase* scrollbar_layer_impl =
388 static_cast<SolidColorScrollbarLayerImpl*>( 389 static_cast<SolidColorScrollbarLayerImpl*>(
389 layer_impl_tree_root->children()[1]); 390 layer_impl_tree_root->children()[1]);
390 scrollbar_layer_impl->SetBounds(gfx::Size(kTrackLength, kThumbThickness)); 391 scrollbar_layer_impl->SetBounds(gfx::Size(kTrackLength, kThumbThickness));
391 scrollbar_layer_impl->SetCurrentPos(10.f); 392 scrollbar_layer_impl->SetCurrentPos(10.f);
392 scrollbar_layer_impl->SetClipLayerLength(200 / 3.f); 393 scrollbar_layer_impl->SetClipLayerLength(200 / 3.f);
393 scrollbar_layer_impl->SetScrollLayerLength(100 + 200 / 3.f); 394 scrollbar_layer_impl->SetScrollLayerLength(100 + 200 / 3.f);
394 395
395 // Thickness should be overridden to 3. 396 // Thickness should be overridden to 3.
396 { 397 {
397 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 398 std::unique_ptr<RenderPass> render_pass = RenderPass::Create();
398 AppendQuadsData data; 399 AppendQuadsData data;
399 scrollbar_layer_impl->AppendQuads(render_pass.get(), &data); 400 scrollbar_layer_impl->AppendQuads(render_pass.get(), &data);
400 401
401 const QuadList& quads = render_pass->quad_list; 402 const QuadList& quads = render_pass->quad_list;
402 ASSERT_EQ(1u, quads.size()); 403 ASSERT_EQ(1u, quads.size());
403 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material); 404 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material);
404 EXPECT_EQ(gfx::Rect(6, 0, 39, 3), quads.front()->rect); 405 EXPECT_EQ(gfx::Rect(6, 0, 39, 3), quads.front()->rect);
405 } 406 }
406 407
407 // For solid color scrollbars, position and size should reflect the 408 // For solid color scrollbars, position and size should reflect the
408 // current viewport state. 409 // current viewport state.
409 scrollbar_layer_impl->SetClipLayerLength(25.f); 410 scrollbar_layer_impl->SetClipLayerLength(25.f);
410 scrollbar_layer_impl->SetScrollLayerLength(125.f); 411 scrollbar_layer_impl->SetScrollLayerLength(125.f);
411 { 412 {
412 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 413 std::unique_ptr<RenderPass> render_pass = RenderPass::Create();
413 AppendQuadsData data; 414 AppendQuadsData data;
414 scrollbar_layer_impl->AppendQuads(render_pass.get(), &data); 415 scrollbar_layer_impl->AppendQuads(render_pass.get(), &data);
415 416
416 const QuadList& quads = render_pass->quad_list; 417 const QuadList& quads = render_pass->quad_list;
417 ASSERT_EQ(1u, quads.size()); 418 ASSERT_EQ(1u, quads.size());
418 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material); 419 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material);
419 EXPECT_EQ(gfx::Rect(8, 0, 19, 3), quads.front()->rect); 420 EXPECT_EQ(gfx::Rect(8, 0, 19, 3), quads.front()->rect);
420 } 421 }
421 422
422 // We shouldn't attempt div-by-zero when the maximum is zero. 423 // We shouldn't attempt div-by-zero when the maximum is zero.
423 scrollbar_layer_impl->SetCurrentPos(0.f); 424 scrollbar_layer_impl->SetCurrentPos(0.f);
424 scrollbar_layer_impl->SetClipLayerLength(125.f); 425 scrollbar_layer_impl->SetClipLayerLength(125.f);
425 scrollbar_layer_impl->SetScrollLayerLength(125.f); 426 scrollbar_layer_impl->SetScrollLayerLength(125.f);
426 { 427 {
427 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 428 std::unique_ptr<RenderPass> render_pass = RenderPass::Create();
428 AppendQuadsData data; 429 AppendQuadsData data;
429 scrollbar_layer_impl->AppendQuads(render_pass.get(), &data); 430 scrollbar_layer_impl->AppendQuads(render_pass.get(), &data);
430 431
431 const QuadList& quads = render_pass->quad_list; 432 const QuadList& quads = render_pass->quad_list;
432 ASSERT_EQ(1u, quads.size()); 433 ASSERT_EQ(1u, quads.size());
433 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material); 434 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material);
434 EXPECT_EQ(gfx::Rect(1, 0, 98, 3), quads.front()->rect); 435 EXPECT_EQ(gfx::Rect(1, 0, 98, 3), quads.front()->rect);
435 } 436 }
436 } 437 }
437 438
438 TEST_F(ScrollbarLayerTest, LayerDrivenSolidColorDrawQuads) { 439 TEST_F(ScrollbarLayerTest, LayerDrivenSolidColorDrawQuads) {
439 const int kThumbThickness = 3; 440 const int kThumbThickness = 3;
440 const int kTrackStart = 0; 441 const int kTrackStart = 0;
441 const int kTrackLength = 10; 442 const int kTrackLength = 10;
442 443
443 scoped_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true)); 444 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true));
444 445
445 { 446 {
446 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 447 scoped_refptr<Layer> layer_tree_root = Layer::Create();
447 scoped_refptr<Layer> scroll_layer = Layer::Create(); 448 scoped_refptr<Layer> scroll_layer = Layer::Create();
448 scroll_layer->SetScrollClipLayerId(layer_tree_root->id()); 449 scroll_layer->SetScrollClipLayerId(layer_tree_root->id());
449 scoped_refptr<Layer> child1 = Layer::Create(); 450 scoped_refptr<Layer> child1 = Layer::Create();
450 scoped_refptr<Layer> child2; 451 scoped_refptr<Layer> child2;
451 const bool kIsLeftSideVerticalScrollbar = false; 452 const bool kIsLeftSideVerticalScrollbar = false;
452 child2 = SolidColorScrollbarLayer::Create( 453 child2 = SolidColorScrollbarLayer::Create(
453 scrollbar->Orientation(), kThumbThickness, kTrackStart, 454 scrollbar->Orientation(), kThumbThickness, kTrackStart,
(...skipping 17 matching lines...) Expand all
471 472
472 auto* scrollbar_layer_impl = 473 auto* scrollbar_layer_impl =
473 static_cast<ScrollbarLayerImplBase*>(scroll_layer_impl->children()[1]); 474 static_cast<ScrollbarLayerImplBase*>(scroll_layer_impl->children()[1]);
474 475
475 scroll_layer_impl->ScrollBy(gfx::Vector2dF(4.f, 0.f)); 476 scroll_layer_impl->ScrollBy(gfx::Vector2dF(4.f, 0.f));
476 477
477 scrollbar_layer_impl->SetBounds(gfx::Size(kTrackLength, kThumbThickness)); 478 scrollbar_layer_impl->SetBounds(gfx::Size(kTrackLength, kThumbThickness));
478 scrollbar_layer_impl->SetCurrentPos(4.f); 479 scrollbar_layer_impl->SetCurrentPos(4.f);
479 480
480 { 481 {
481 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 482 std::unique_ptr<RenderPass> render_pass = RenderPass::Create();
482 483
483 AppendQuadsData data; 484 AppendQuadsData data;
484 scrollbar_layer_impl->AppendQuads(render_pass.get(), &data); 485 scrollbar_layer_impl->AppendQuads(render_pass.get(), &data);
485 486
486 const QuadList& quads = render_pass->quad_list; 487 const QuadList& quads = render_pass->quad_list;
487 ASSERT_EQ(1u, quads.size()); 488 ASSERT_EQ(1u, quads.size());
488 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material); 489 EXPECT_EQ(DrawQuad::SOLID_COLOR, quads.front()->material);
489 EXPECT_EQ(gfx::Rect(3, 0, 3, 3), quads.front()->rect); 490 EXPECT_EQ(gfx::Rect(3, 0, 3, 3), quads.front()->rect);
490 } 491 }
491 } 492 }
(...skipping 26 matching lines...) Expand all
518 kThumbThickness, 519 kThumbThickness,
519 kTrackStart, 520 kTrackStart,
520 kIsLeftSideVerticalScrollbar, 521 kIsLeftSideVerticalScrollbar,
521 kIsOverlayScrollbar); 522 kIsOverlayScrollbar);
522 } 523 }
523 524
524 protected: 525 protected:
525 FakeImplTaskRunnerProvider task_runner_provider_; 526 FakeImplTaskRunnerProvider task_runner_provider_;
526 TestSharedBitmapManager shared_bitmap_manager_; 527 TestSharedBitmapManager shared_bitmap_manager_;
527 TestTaskGraphRunner task_graph_runner_; 528 TestTaskGraphRunner task_graph_runner_;
528 scoped_ptr<FakeLayerTreeHostImpl> host_impl_; 529 std::unique_ptr<FakeLayerTreeHostImpl> host_impl_;
529 scoped_ptr<SolidColorScrollbarLayerImpl> horizontal_scrollbar_layer_; 530 std::unique_ptr<SolidColorScrollbarLayerImpl> horizontal_scrollbar_layer_;
530 scoped_ptr<SolidColorScrollbarLayerImpl> vertical_scrollbar_layer_; 531 std::unique_ptr<SolidColorScrollbarLayerImpl> vertical_scrollbar_layer_;
531 }; 532 };
532 533
533 TEST_F(ScrollbarLayerSolidColorThumbTest, SolidColorThumbLength) { 534 TEST_F(ScrollbarLayerSolidColorThumbTest, SolidColorThumbLength) {
534 horizontal_scrollbar_layer_->SetCurrentPos(0); 535 horizontal_scrollbar_layer_->SetCurrentPos(0);
535 536
536 // Simple case - one third of the scrollable area is visible, so the thumb 537 // Simple case - one third of the scrollable area is visible, so the thumb
537 // should be one third as long as the track. 538 // should be one third as long as the track.
538 horizontal_scrollbar_layer_->SetClipLayerLength(5.f); 539 horizontal_scrollbar_layer_->SetClipLayerLength(5.f);
539 horizontal_scrollbar_layer_->SetScrollLayerLength(15.f); 540 horizontal_scrollbar_layer_->SetScrollLayerLength(15.f);
540 horizontal_scrollbar_layer_->SetBounds(gfx::Size(100, 3)); 541 horizontal_scrollbar_layer_->SetBounds(gfx::Size(100, 3));
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 class ScrollbarLayerTestMaxTextureSize : public LayerTreeTest { 600 class ScrollbarLayerTestMaxTextureSize : public LayerTreeTest {
600 public: 601 public:
601 ScrollbarLayerTestMaxTextureSize() {} 602 ScrollbarLayerTestMaxTextureSize() {}
602 603
603 void SetScrollbarBounds(const gfx::Size& bounds) { bounds_ = bounds; } 604 void SetScrollbarBounds(const gfx::Size& bounds) { bounds_ = bounds; }
604 605
605 void BeginTest() override { 606 void BeginTest() override {
606 scroll_layer_ = Layer::Create(); 607 scroll_layer_ = Layer::Create();
607 layer_tree_host()->root_layer()->AddChild(scroll_layer_); 608 layer_tree_host()->root_layer()->AddChild(scroll_layer_);
608 609
609 scoped_ptr<Scrollbar> scrollbar(new FakeScrollbar); 610 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar);
610 scrollbar_layer_ = PaintedScrollbarLayer::Create(std::move(scrollbar), 611 scrollbar_layer_ = PaintedScrollbarLayer::Create(std::move(scrollbar),
611 scroll_layer_->id()); 612 scroll_layer_->id());
612 scrollbar_layer_->SetScrollLayer(scroll_layer_->id()); 613 scrollbar_layer_->SetScrollLayer(scroll_layer_->id());
613 scrollbar_layer_->SetLayerTreeHost(layer_tree_host()); 614 scrollbar_layer_->SetLayerTreeHost(layer_tree_host());
614 scrollbar_layer_->SetBounds(bounds_); 615 scrollbar_layer_->SetBounds(bounds_);
615 scrollbar_layer_->SetIsDrawable(true); 616 scrollbar_layer_->SetIsDrawable(true);
616 layer_tree_host()->root_layer()->AddChild(scrollbar_layer_); 617 layer_tree_host()->root_layer()->AddChild(scrollbar_layer_);
617 618
618 PostSetNeedsCommitToMainThread(); 619 PostSetNeedsCommitToMainThread();
619 } 620 }
(...skipping 15 matching lines...) Expand all
635 636
636 void AfterTest() override {} 637 void AfterTest() override {}
637 638
638 private: 639 private:
639 scoped_refptr<PaintedScrollbarLayer> scrollbar_layer_; 640 scoped_refptr<PaintedScrollbarLayer> scrollbar_layer_;
640 scoped_refptr<Layer> scroll_layer_; 641 scoped_refptr<Layer> scroll_layer_;
641 gfx::Size bounds_; 642 gfx::Size bounds_;
642 }; 643 };
643 644
644 TEST_F(ScrollbarLayerTestMaxTextureSize, DirectRenderer) { 645 TEST_F(ScrollbarLayerTestMaxTextureSize, DirectRenderer) {
645 scoped_ptr<TestWebGraphicsContext3D> context = 646 std::unique_ptr<TestWebGraphicsContext3D> context =
646 TestWebGraphicsContext3D::Create(); 647 TestWebGraphicsContext3D::Create();
647 int max_size = 0; 648 int max_size = 0;
648 context->getIntegerv(GL_MAX_TEXTURE_SIZE, &max_size); 649 context->getIntegerv(GL_MAX_TEXTURE_SIZE, &max_size);
649 SetScrollbarBounds(gfx::Size(max_size + 100, max_size + 100)); 650 SetScrollbarBounds(gfx::Size(max_size + 100, max_size + 100));
650 RunTest(CompositorMode::THREADED, false); 651 RunTest(CompositorMode::THREADED, false);
651 } 652 }
652 653
653 TEST_F(ScrollbarLayerTestMaxTextureSize, DelegatingRenderer) { 654 TEST_F(ScrollbarLayerTestMaxTextureSize, DelegatingRenderer) {
654 scoped_ptr<TestWebGraphicsContext3D> context = 655 std::unique_ptr<TestWebGraphicsContext3D> context =
655 TestWebGraphicsContext3D::Create(); 656 TestWebGraphicsContext3D::Create();
656 int max_size = 0; 657 int max_size = 0;
657 context->getIntegerv(GL_MAX_TEXTURE_SIZE, &max_size); 658 context->getIntegerv(GL_MAX_TEXTURE_SIZE, &max_size);
658 SetScrollbarBounds(gfx::Size(max_size + 100, max_size + 100)); 659 SetScrollbarBounds(gfx::Size(max_size + 100, max_size + 100));
659 RunTest(CompositorMode::THREADED, true); 660 RunTest(CompositorMode::THREADED, true);
660 } 661 }
661 662
662 class ScrollbarLayerTestResourceCreationAndRelease : public ScrollbarLayerTest { 663 class ScrollbarLayerTestResourceCreationAndRelease : public ScrollbarLayerTest {
663 public: 664 public:
664 void TestResourceUpload(int num_updates, 665 void TestResourceUpload(int num_updates,
665 size_t expected_resources, 666 size_t expected_resources,
666 int expected_created, 667 int expected_created,
667 int expected_deleted, 668 int expected_deleted,
668 bool use_solid_color_scrollbar) { 669 bool use_solid_color_scrollbar) {
669 scoped_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, false)); 670 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, false));
670 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 671 scoped_refptr<Layer> layer_tree_root = Layer::Create();
671 scoped_refptr<Layer> content_layer = Layer::Create(); 672 scoped_refptr<Layer> content_layer = Layer::Create();
672 scoped_refptr<Layer> scrollbar_layer; 673 scoped_refptr<Layer> scrollbar_layer;
673 if (use_solid_color_scrollbar) { 674 if (use_solid_color_scrollbar) {
674 const int kThumbThickness = 3; 675 const int kThumbThickness = 3;
675 const int kTrackStart = 0; 676 const int kTrackStart = 0;
676 const bool kIsLeftSideVerticalScrollbar = false; 677 const bool kIsLeftSideVerticalScrollbar = false;
677 scrollbar_layer = SolidColorScrollbarLayer::Create( 678 scrollbar_layer = SolidColorScrollbarLayer::Create(
678 scrollbar->Orientation(), kThumbThickness, kTrackStart, 679 scrollbar->Orientation(), kThumbThickness, kTrackStart,
679 kIsLeftSideVerticalScrollbar, layer_tree_root->id()); 680 kIsLeftSideVerticalScrollbar, layer_tree_root->id());
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
1012 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f); 1013 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f);
1013 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f); 1014 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f);
1014 1015
1015 // Horizontal Scrollbars. 1016 // Horizontal Scrollbars.
1016 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f); 1017 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f);
1017 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f); 1018 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f);
1018 } 1019 }
1019 1020
1020 } // namespace 1021 } // namespace
1021 } // namespace cc 1022 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/render_surface_unittest.cc ('k') | cc/layers/solid_color_layer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698