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

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

Issue 2734583002: Do not ignore SolidColorScrollbarLayer's scroll_layer_id ctor argument (Closed)
Patch Set: Created 3 years, 9 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <unordered_map> 7 #include <unordered_map>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/threading/thread_task_runner_handle.h" 10 #include "base/threading/thread_task_runner_handle.h"
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 EXPECT_EQ(InputHandler::SCROLL_IGNORED, status.thread); 217 EXPECT_EQ(InputHandler::SCROLL_IGNORED, status.thread);
218 EXPECT_EQ(MainThreadScrollingReason::kNotScrollable, 218 EXPECT_EQ(MainThreadScrollingReason::kNotScrollable,
219 status.main_thread_scrolling_reasons); 219 status.main_thread_scrolling_reasons);
220 } 220 }
221 221
222 TEST_F(ScrollbarLayerTest, ScrollOffsetSynchronization) { 222 TEST_F(ScrollbarLayerTest, ScrollOffsetSynchronization) {
223 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar); 223 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar);
224 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 224 scoped_refptr<Layer> layer_tree_root = Layer::Create();
225 scoped_refptr<Layer> scroll_layer = Layer::Create(); 225 scoped_refptr<Layer> scroll_layer = Layer::Create();
226 scoped_refptr<Layer> content_layer = Layer::Create(); 226 scoped_refptr<Layer> content_layer = Layer::Create();
227 scoped_refptr<Layer> scrollbar_layer = PaintedScrollbarLayer::Create( 227 scoped_refptr<Layer> scrollbar_layer =
228 std::move(scrollbar), layer_tree_root->id()); 228 PaintedScrollbarLayer::Create(std::move(scrollbar), scroll_layer->id());
229 229
230 // Choose bounds to give max_scroll_offset = (30, 50). 230 // Choose bounds to give max_scroll_offset = (30, 50).
231 layer_tree_root->SetBounds(gfx::Size(70, 150)); 231 layer_tree_root->SetBounds(gfx::Size(70, 150));
232 scroll_layer->SetScrollClipLayerId(layer_tree_root->id()); 232 scroll_layer->SetScrollClipLayerId(layer_tree_root->id());
233 scroll_layer->SetScrollOffset(gfx::ScrollOffset(10, 20)); 233 scroll_layer->SetScrollOffset(gfx::ScrollOffset(10, 20));
234 scroll_layer->SetBounds(gfx::Size(100, 200)); 234 scroll_layer->SetBounds(gfx::Size(100, 200));
235 content_layer->SetBounds(gfx::Size(100, 200)); 235 content_layer->SetBounds(gfx::Size(100, 200));
236 236
237 layer_tree_host_->SetRootLayer(layer_tree_root); 237 layer_tree_host_->SetRootLayer(layer_tree_root);
238 layer_tree_root->AddChild(scroll_layer); 238 layer_tree_root->AddChild(scroll_layer);
239 scroll_layer->AddChild(content_layer); 239 scroll_layer->AddChild(content_layer);
240 layer_tree_root->AddChild(scrollbar_layer); 240 layer_tree_root->AddChild(scrollbar_layer);
241 scrollbar_layer->ToScrollbarLayer()->SetScrollLayer(scroll_layer->id());
242 241
243 layer_tree_root->SavePaintProperties(); 242 layer_tree_root->SavePaintProperties();
244 content_layer->SavePaintProperties(); 243 content_layer->SavePaintProperties();
245 layer_tree_host_->UpdateLayers(); 244 layer_tree_host_->UpdateLayers();
246 LayerImpl* layer_impl_tree_root = 245 LayerImpl* layer_impl_tree_root =
247 layer_tree_host_->CommitAndCreateLayerImplTree(); 246 layer_tree_host_->CommitAndCreateLayerImplTree();
248 247
249 ScrollbarLayerImplBase* cc_scrollbar_layer = 248 ScrollbarLayerImplBase* cc_scrollbar_layer =
250 static_cast<PaintedScrollbarLayerImpl*>( 249 static_cast<PaintedScrollbarLayerImpl*>(
251 layer_impl_tree_root->layer_tree_impl()->LayerById( 250 layer_impl_tree_root->layer_tree_impl()->LayerById(
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true)); 523 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true));
525 524
526 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 525 scoped_refptr<Layer> layer_tree_root = Layer::Create();
527 scoped_refptr<Layer> scroll_layer = Layer::Create(); 526 scoped_refptr<Layer> scroll_layer = Layer::Create();
528 scroll_layer->SetScrollClipLayerId(layer_tree_root->id()); 527 scroll_layer->SetScrollClipLayerId(layer_tree_root->id());
529 scoped_refptr<Layer> child1 = Layer::Create(); 528 scoped_refptr<Layer> child1 = Layer::Create();
530 scoped_refptr<Layer> child2; 529 scoped_refptr<Layer> child2;
531 const bool kIsLeftSideVerticalScrollbar = false; 530 const bool kIsLeftSideVerticalScrollbar = false;
532 child2 = SolidColorScrollbarLayer::Create( 531 child2 = SolidColorScrollbarLayer::Create(
533 scrollbar->Orientation(), kThumbThickness, kTrackStart, 532 scrollbar->Orientation(), kThumbThickness, kTrackStart,
534 kIsLeftSideVerticalScrollbar, child1->id()); 533 kIsLeftSideVerticalScrollbar, scroll_layer->id());
535 child2->ToScrollbarLayer()->SetScrollLayer(scroll_layer->id());
536 scroll_layer->AddChild(child1); 534 scroll_layer->AddChild(child1);
537 scroll_layer->InsertChild(child2, 1); 535 scroll_layer->InsertChild(child2, 1);
538 layer_tree_root->AddChild(scroll_layer); 536 layer_tree_root->AddChild(scroll_layer);
539 layer_tree_host_->SetRootLayer(layer_tree_root); 537 layer_tree_host_->SetRootLayer(layer_tree_root);
540 538
541 // Choose layer bounds to give max_scroll_offset = (8, 8). 539 // Choose layer bounds to give max_scroll_offset = (8, 8).
542 layer_tree_root->SetBounds(gfx::Size(2, 2)); 540 layer_tree_root->SetBounds(gfx::Size(2, 2));
543 scroll_layer->SetBounds(gfx::Size(10, 10)); 541 scroll_layer->SetBounds(gfx::Size(10, 10));
544 542
545 layer_tree_host_->UpdateLayers(); 543 layer_tree_host_->UpdateLayers();
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true)); 575 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true));
578 576
579 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 577 scoped_refptr<Layer> layer_tree_root = Layer::Create();
580 scoped_refptr<Layer> scroll_layer = Layer::Create(); 578 scoped_refptr<Layer> scroll_layer = Layer::Create();
581 scroll_layer->SetScrollClipLayerId(layer_tree_root->id()); 579 scroll_layer->SetScrollClipLayerId(layer_tree_root->id());
582 scoped_refptr<Layer> child1 = Layer::Create(); 580 scoped_refptr<Layer> child1 = Layer::Create();
583 scoped_refptr<Layer> scrollbar_layer; 581 scoped_refptr<Layer> scrollbar_layer;
584 const bool kIsLeftSideVerticalScrollbar = false; 582 const bool kIsLeftSideVerticalScrollbar = false;
585 scrollbar_layer = SolidColorScrollbarLayer::Create( 583 scrollbar_layer = SolidColorScrollbarLayer::Create(
586 scrollbar->Orientation(), kThumbThickness, kTrackStart, 584 scrollbar->Orientation(), kThumbThickness, kTrackStart,
587 kIsLeftSideVerticalScrollbar, child1->id()); 585 kIsLeftSideVerticalScrollbar, scroll_layer->id());
588 scrollbar_layer->ToScrollbarLayer()->SetScrollLayer(scroll_layer->id());
589 scroll_layer->AddChild(child1); 586 scroll_layer->AddChild(child1);
590 scroll_layer->InsertChild(scrollbar_layer, 1); 587 scroll_layer->InsertChild(scrollbar_layer, 1);
591 layer_tree_root->AddChild(scroll_layer); 588 layer_tree_root->AddChild(scroll_layer);
592 layer_tree_host_->SetRootLayer(layer_tree_root); 589 layer_tree_host_->SetRootLayer(layer_tree_root);
593 590
594 // Choose layer bounds to give max_scroll_offset = (8, 8). 591 // Choose layer bounds to give max_scroll_offset = (8, 8).
595 layer_tree_root->SetBounds(gfx::Size(2, 2)); 592 layer_tree_root->SetBounds(gfx::Size(2, 2));
596 scroll_layer->SetBounds(gfx::Size(10, 10)); 593 scroll_layer->SetBounds(gfx::Size(10, 10));
597 594
598 // Building property trees twice shouldn't change the size of 595 // Building property trees twice shouldn't change the size of
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true)); 656 std::unique_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, true));
660 657
661 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 658 scoped_refptr<Layer> layer_tree_root = Layer::Create();
662 scoped_refptr<Layer> scroll_layer = Layer::Create(); 659 scoped_refptr<Layer> scroll_layer = Layer::Create();
663 scroll_layer->SetScrollClipLayerId(layer_tree_root->id()); 660 scroll_layer->SetScrollClipLayerId(layer_tree_root->id());
664 scoped_refptr<Layer> child1 = Layer::Create(); 661 scoped_refptr<Layer> child1 = Layer::Create();
665 scoped_refptr<Layer> scrollbar_layer; 662 scoped_refptr<Layer> scrollbar_layer;
666 const bool kIsLeftSideVerticalScrollbar = false; 663 const bool kIsLeftSideVerticalScrollbar = false;
667 scrollbar_layer = SolidColorScrollbarLayer::Create( 664 scrollbar_layer = SolidColorScrollbarLayer::Create(
668 scrollbar->Orientation(), kThumbThickness, kTrackStart, 665 scrollbar->Orientation(), kThumbThickness, kTrackStart,
669 kIsLeftSideVerticalScrollbar, child1->id()); 666 kIsLeftSideVerticalScrollbar, scroll_layer->id());
670 scroll_layer->SetScrollClipLayerId(layer_tree_root->id()); 667 scroll_layer->SetScrollClipLayerId(layer_tree_root->id());
671 scrollbar_layer->ToScrollbarLayer()->SetScrollLayer(scroll_layer->id());
672 scroll_layer->AddChild(child1); 668 scroll_layer->AddChild(child1);
673 scroll_layer->InsertChild(scrollbar_layer, 1); 669 scroll_layer->InsertChild(scrollbar_layer, 1);
674 layer_tree_root->AddChild(scroll_layer); 670 layer_tree_root->AddChild(scroll_layer);
675 layer_tree_host_->SetRootLayer(layer_tree_root); 671 layer_tree_host_->SetRootLayer(layer_tree_root);
676 672
677 layer_tree_root->SetBounds(gfx::Size(2, 2)); 673 layer_tree_root->SetBounds(gfx::Size(2, 2));
678 scroll_layer->SetBounds(gfx::Size(10, 10)); 674 scroll_layer->SetBounds(gfx::Size(10, 10));
679 layer_tree_host_->UpdateLayers(); 675 layer_tree_host_->UpdateLayers();
680 layer_tree_host_->CommitAndCreateLayerImplTree(); 676 layer_tree_host_->CommitAndCreateLayerImplTree();
681 LayerTreeHostImpl* host_impl = layer_tree_host_->host_impl(); 677 LayerTreeHostImpl* host_impl = layer_tree_host_->host_impl();
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after
1171 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f); 1167 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f);
1172 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f); 1168 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f);
1173 1169
1174 // Horizontal Scrollbars. 1170 // Horizontal Scrollbars.
1175 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f); 1171 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f);
1176 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f); 1172 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f);
1177 } 1173 }
1178 1174
1179 } // namespace 1175 } // namespace
1180 } // namespace cc 1176 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/layers/solid_color_scrollbar_layer.cc » ('j') | cc/layers/solid_color_scrollbar_layer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698