OLD | NEW |
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 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); | 490 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); |
491 | 491 |
492 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, | 492 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, |
493 layer()->ScrollDelta()), | 493 layer()->ScrollDelta()), |
494 layer()->TotalScrollOffset()); | 494 layer()->TotalScrollOffset()); |
495 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 495 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
496 } | 496 } |
497 | 497 |
498 class ScrollDelegateIgnore : public LayerImpl::ScrollOffsetDelegate { | 498 class ScrollDelegateIgnore : public LayerImpl::ScrollOffsetDelegate { |
499 public: | 499 public: |
500 void SetTotalScrollOffset(const gfx::ScrollOffset& new_value) override {} | 500 void SetTotalScrollOffset(const gfx::ScrollOffset& new_value) override { |
| 501 last_attempted_set_offset_ = new_value; |
| 502 } |
| 503 gfx::ScrollOffset last_attempted_set_offset() const { |
| 504 return last_attempted_set_offset_; |
| 505 } |
| 506 |
501 gfx::ScrollOffset GetTotalScrollOffset() override { | 507 gfx::ScrollOffset GetTotalScrollOffset() override { |
502 return gfx::ScrollOffset(fixed_offset_); | 508 return gfx::ScrollOffset(fixed_offset_); |
503 } | 509 } |
504 bool IsExternalFlingActive() const override { return false; } | 510 bool IsExternalFlingActive() const override { return false; } |
505 void Update() const override { } | 511 void Update() const override { } |
506 | 512 |
507 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) { | 513 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) { |
508 fixed_offset_ = fixed_offset; | 514 fixed_offset_ = fixed_offset; |
509 } | 515 } |
510 | 516 |
511 private: | 517 private: |
| 518 gfx::ScrollOffset last_attempted_set_offset_; |
512 gfx::Vector2dF fixed_offset_; | 519 gfx::Vector2dF fixed_offset_; |
513 }; | 520 }; |
514 | 521 |
515 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { | 522 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { |
516 gfx::ScrollOffset scroll_offset(10, 5); | 523 gfx::ScrollOffset scroll_offset(10, 5); |
517 layer()->SetScrollOffset(scroll_offset); | 524 layer()->SetScrollOffset(scroll_offset); |
518 | 525 |
519 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 526 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); |
520 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 527 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
521 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 528 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
625 delegate.set_fixed_offset(fixed_offset); | 632 delegate.set_fixed_offset(fixed_offset); |
626 layer()->SetScrollOffsetDelegate(&delegate); | 633 layer()->SetScrollOffsetDelegate(&delegate); |
627 layer()->SetSentScrollDelta(sent_scroll_delta); | 634 layer()->SetSentScrollDelta(sent_scroll_delta); |
628 | 635 |
629 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 636 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); |
630 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 637 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
631 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); | 638 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); |
632 | 639 |
633 layer()->ApplySentScrollDeltasFromAbortedCommit(); | 640 layer()->ApplySentScrollDeltasFromAbortedCommit(); |
634 | 641 |
| 642 EXPECT_VECTOR_EQ(fixed_offset, delegate.last_attempted_set_offset()); |
| 643 |
635 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 644 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); |
636 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta), | 645 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta), |
637 layer()->scroll_offset()); | 646 layer()->scroll_offset()); |
638 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | 647 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); |
639 } | 648 } |
640 | 649 |
641 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) { | 650 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) { |
642 gfx::ScrollOffset scroll_offset(10, 5); | 651 gfx::ScrollOffset scroll_offset(10, 5); |
643 gfx::Vector2d sent_scroll_delta(12, -3); | 652 gfx::Vector2d sent_scroll_delta(12, -3); |
644 gfx::Vector2dF scroll_delta(20.5f, 8.5f); | 653 gfx::Vector2dF scroll_delta(20.5f, 8.5f); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
695 layer()->id(), tree()->root_layer()->id()); | 704 layer()->id(), tree()->root_layer()->id()); |
696 | 705 |
697 int expected_horizontal_maximum = | 706 int expected_horizontal_maximum = |
698 layer()->bounds().width() - tree()->root_layer()->bounds().width(); | 707 layer()->bounds().width() - tree()->root_layer()->bounds().width(); |
699 EXPECT_EQ(expected_horizontal_maximum, horizontal_scrollbar->maximum()); | 708 EXPECT_EQ(expected_horizontal_maximum, horizontal_scrollbar->maximum()); |
700 EXPECT_EQ(scroll_offset.x(), horizontal_scrollbar->current_pos()); | 709 EXPECT_EQ(scroll_offset.x(), horizontal_scrollbar->current_pos()); |
701 } | 710 } |
702 | 711 |
703 } // namespace | 712 } // namespace |
704 } // namespace cc | 713 } // namespace cc |
OLD | NEW |