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

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

Issue 706203003: Update from https://crrev.com/303153 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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/layer_impl.cc ('k') | cc/layers/picture_layer.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 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/layers/layer_impl.h" 5 #include "cc/layers/layer_impl.h"
6 6
7 #include "cc/layers/painted_scrollbar_layer_impl.h" 7 #include "cc/layers/painted_scrollbar_layer_impl.h"
8 #include "cc/output/filter_operation.h" 8 #include "cc/output/filter_operation.h"
9 #include "cc/output/filter_operations.h" 9 #include "cc/output/filter_operations.h"
10 #include "cc/test/fake_impl_proxy.h" 10 #include "cc/test/fake_impl_proxy.h"
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 // offset plus 1 in each direction. 427 // offset plus 1 in each direction.
428 host_impl_.active_tree()->root_layer()->SetBounds(gfx::Size(1, 1)); 428 host_impl_.active_tree()->root_layer()->SetBounds(gfx::Size(1, 1));
429 gfx::Vector2d max_scroll_offset(51, 81); 429 gfx::Vector2d max_scroll_offset(51, 81);
430 layer()->SetBounds(gfx::Size(max_scroll_offset.x(), max_scroll_offset.y())); 430 layer()->SetBounds(gfx::Size(max_scroll_offset.x(), max_scroll_offset.y()));
431 } 431 }
432 432
433 LayerImpl* layer() { 433 LayerImpl* layer() {
434 return host_impl_.active_tree()->root_layer()->children()[0]; 434 return host_impl_.active_tree()->root_layer()->children()[0];
435 } 435 }
436 436
437 LayerTreeHostImpl& host_impl() { return host_impl_; }
438
437 LayerTreeImpl* tree() { return host_impl_.active_tree(); } 439 LayerTreeImpl* tree() { return host_impl_.active_tree(); }
438 440
439 LayerTreeSettings settings() { 441 LayerTreeSettings settings() {
440 LayerTreeSettings settings; 442 LayerTreeSettings settings;
441 settings.use_pinch_virtual_viewport = true; 443 settings.use_pinch_virtual_viewport = true;
442 return settings; 444 return settings;
443 } 445 }
444 446
445 private: 447 private:
446 FakeImplProxy proxy_; 448 FakeImplProxy proxy_;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); 492 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset());
491 493
492 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, 494 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset,
493 layer()->ScrollDelta()), 495 layer()->ScrollDelta()),
494 layer()->TotalScrollOffset()); 496 layer()->TotalScrollOffset());
495 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 497 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
496 } 498 }
497 499
498 class ScrollDelegateIgnore : public LayerImpl::ScrollOffsetDelegate { 500 class ScrollDelegateIgnore : public LayerImpl::ScrollOffsetDelegate {
499 public: 501 public:
500 void SetTotalScrollOffset(const gfx::ScrollOffset& new_value) override {} 502 void SetTotalScrollOffset(const gfx::ScrollOffset& new_value) override {
503 last_attempted_set_offset_ = new_value;
504 }
505 gfx::ScrollOffset last_attempted_set_offset() const {
506 return last_attempted_set_offset_;
507 }
508
501 gfx::ScrollOffset GetTotalScrollOffset() override { 509 gfx::ScrollOffset GetTotalScrollOffset() override {
502 return gfx::ScrollOffset(fixed_offset_); 510 return gfx::ScrollOffset(fixed_offset_);
503 } 511 }
504 bool IsExternalFlingActive() const override { return false; } 512 bool IsExternalFlingActive() const override { return false; }
505 void Update() const override { } 513 void Update() const override { }
506 514
507 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) { 515 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) {
508 fixed_offset_ = fixed_offset; 516 fixed_offset_ = fixed_offset;
509 } 517 }
510 518
511 private: 519 private:
520 gfx::ScrollOffset last_attempted_set_offset_;
512 gfx::Vector2dF fixed_offset_; 521 gfx::Vector2dF fixed_offset_;
513 }; 522 };
514 523
515 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { 524 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) {
516 gfx::ScrollOffset scroll_offset(10, 5); 525 gfx::ScrollOffset scroll_offset(10, 5);
517 layer()->SetScrollOffset(scroll_offset); 526 layer()->SetScrollOffset(scroll_offset);
518 527
519 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); 528 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset());
520 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 529 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
521 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); 530 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta());
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 delegate.set_fixed_offset(fixed_offset); 634 delegate.set_fixed_offset(fixed_offset);
626 layer()->SetScrollOffsetDelegate(&delegate); 635 layer()->SetScrollOffsetDelegate(&delegate);
627 layer()->SetSentScrollDelta(sent_scroll_delta); 636 layer()->SetSentScrollDelta(sent_scroll_delta);
628 637
629 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); 638 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset());
630 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 639 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
631 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); 640 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta());
632 641
633 layer()->ApplySentScrollDeltasFromAbortedCommit(); 642 layer()->ApplySentScrollDeltasFromAbortedCommit();
634 643
644 EXPECT_VECTOR_EQ(fixed_offset, delegate.last_attempted_set_offset());
645
635 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); 646 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset());
636 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta), 647 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta),
637 layer()->scroll_offset()); 648 layer()->scroll_offset());
638 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); 649 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta());
639 } 650 }
640 651
641 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) { 652 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) {
642 gfx::ScrollOffset scroll_offset(10, 5); 653 gfx::ScrollOffset scroll_offset(10, 5);
643 gfx::Vector2d sent_scroll_delta(12, -3); 654 gfx::Vector2d sent_scroll_delta(12, -3);
644 gfx::Vector2dF scroll_delta(20.5f, 8.5f); 655 gfx::Vector2dF scroll_delta(20.5f, 8.5f);
(...skipping 23 matching lines...) Expand all
668 gfx::Vector2dF scroll_delta(20.5f, 8.5f); 679 gfx::Vector2dF scroll_delta(20.5f, 8.5f);
669 680
670 layer()->set_user_scrollable_vertical(false); 681 layer()->set_user_scrollable_vertical(false);
671 layer()->SetScrollOffset(scroll_offset); 682 layer()->SetScrollOffset(scroll_offset);
672 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); 683 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta);
673 684
674 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); 685 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled);
675 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); 686 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset());
676 } 687 }
677 688
689 TEST_F(LayerImplScrollTest, PushPropertiesToMirrorsTotalScrollOffset) {
690 gfx::ScrollOffset scroll_offset(10, 5);
691 gfx::Vector2dF scroll_delta(12, 18);
692
693 host_impl().CreatePendingTree();
694
695 layer()->SetScrollOffset(scroll_offset);
696 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta);
697
698 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 0), unscrolled);
699 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->TotalScrollOffset());
700
701 layer()->SetSentScrollDelta(scroll_delta);
702
703 scoped_ptr<LayerImpl> pending_layer =
704 LayerImpl::Create(host_impl().sync_tree(), layer()->id());
705 pending_layer->SetScrollOffset(layer()->TotalScrollOffset());
706
707 pending_layer->PushPropertiesTo(layer());
708
709 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->TotalScrollOffset());
710 EXPECT_VECTOR_EQ(layer()->TotalScrollOffset(),
711 pending_layer->TotalScrollOffset());
712 }
713
678 TEST_F(LayerImplScrollTest, SetNewScrollbarParameters) { 714 TEST_F(LayerImplScrollTest, SetNewScrollbarParameters) {
679 gfx::ScrollOffset scroll_offset(10, 5); 715 gfx::ScrollOffset scroll_offset(10, 5);
680 layer()->SetScrollOffset(scroll_offset); 716 layer()->SetScrollOffset(scroll_offset);
681 717
682 scoped_ptr<PaintedScrollbarLayerImpl> vertical_scrollbar( 718 scoped_ptr<PaintedScrollbarLayerImpl> vertical_scrollbar(
683 PaintedScrollbarLayerImpl::Create(tree(), 100, VERTICAL)); 719 PaintedScrollbarLayerImpl::Create(tree(), 100, VERTICAL));
684 vertical_scrollbar->SetScrollLayerAndClipLayerByIds( 720 vertical_scrollbar->SetScrollLayerAndClipLayerByIds(
685 layer()->id(), tree()->root_layer()->id()); 721 layer()->id(), tree()->root_layer()->id());
686 722
687 int expected_vertical_maximum = 723 int expected_vertical_maximum =
688 layer()->bounds().height() - tree()->root_layer()->bounds().height(); 724 layer()->bounds().height() - tree()->root_layer()->bounds().height();
689 EXPECT_EQ(expected_vertical_maximum, vertical_scrollbar->maximum()); 725 EXPECT_EQ(expected_vertical_maximum, vertical_scrollbar->maximum());
690 EXPECT_EQ(scroll_offset.y(), vertical_scrollbar->current_pos()); 726 EXPECT_EQ(scroll_offset.y(), vertical_scrollbar->current_pos());
691 727
692 scoped_ptr<PaintedScrollbarLayerImpl> horizontal_scrollbar( 728 scoped_ptr<PaintedScrollbarLayerImpl> horizontal_scrollbar(
693 PaintedScrollbarLayerImpl::Create(tree(), 101, HORIZONTAL)); 729 PaintedScrollbarLayerImpl::Create(tree(), 101, HORIZONTAL));
694 horizontal_scrollbar->SetScrollLayerAndClipLayerByIds( 730 horizontal_scrollbar->SetScrollLayerAndClipLayerByIds(
695 layer()->id(), tree()->root_layer()->id()); 731 layer()->id(), tree()->root_layer()->id());
696 732
697 int expected_horizontal_maximum = 733 int expected_horizontal_maximum =
698 layer()->bounds().width() - tree()->root_layer()->bounds().width(); 734 layer()->bounds().width() - tree()->root_layer()->bounds().width();
699 EXPECT_EQ(expected_horizontal_maximum, horizontal_scrollbar->maximum()); 735 EXPECT_EQ(expected_horizontal_maximum, horizontal_scrollbar->maximum());
700 EXPECT_EQ(scroll_offset.x(), horizontal_scrollbar->current_pos()); 736 EXPECT_EQ(scroll_offset.x(), horizontal_scrollbar->current_pos());
701 } 737 }
702 738
703 } // namespace 739 } // namespace
704 } // namespace cc 740 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | cc/layers/picture_layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698