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/output/filter_operation.h" | 7 #include "cc/output/filter_operation.h" |
8 #include "cc/output/filter_operations.h" | 8 #include "cc/output/filter_operations.h" |
9 #include "cc/test/fake_impl_proxy.h" | 9 #include "cc/test/fake_impl_proxy.h" |
10 #include "cc/test/fake_layer_tree_host_impl.h" | 10 #include "cc/test/fake_layer_tree_host_impl.h" |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 481 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
482 | 482 |
483 layer()->ScrollBy(gfx::Vector2dF(100, -100)); | 483 layer()->ScrollBy(gfx::Vector2dF(100, -100)); |
484 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); | 484 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); |
485 | 485 |
486 EXPECT_VECTOR_EQ(layer()->ScrollDelta() + scroll_offset, | 486 EXPECT_VECTOR_EQ(layer()->ScrollDelta() + scroll_offset, |
487 layer()->TotalScrollOffset()); | 487 layer()->TotalScrollOffset()); |
488 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 488 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
489 } | 489 } |
490 | 490 |
491 class ScrollDelegateIgnore : public LayerScrollOffsetDelegate { | 491 class ScrollDelegateIgnore : public LayerImpl::ScrollOffsetDelegate { |
492 public: | 492 public: |
493 virtual void SetMaxScrollOffset( | |
494 const gfx::Vector2dF& max_scroll_offset) OVERRIDE {} | |
495 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE {} | 493 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE {} |
496 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { | 494 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { |
497 return fixed_offset_; | 495 return fixed_offset_; |
498 } | 496 } |
499 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } | 497 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } |
500 | 498 |
501 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) { | 499 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) { |
502 fixed_offset_ = fixed_offset; | 500 fixed_offset_ = fixed_offset; |
503 } | 501 } |
504 | 502 |
505 virtual void SetTotalPageScaleFactorAndLimits( | |
506 float page_scale_factor, | |
507 float min_page_scale_factor, | |
508 float max_page_scale_factor) OVERRIDE {} | |
509 virtual void SetScrollableSize(const gfx::SizeF& scrollable_size) OVERRIDE {} | |
510 | |
511 private: | 503 private: |
512 gfx::Vector2dF fixed_offset_; | 504 gfx::Vector2dF fixed_offset_; |
513 }; | 505 }; |
514 | 506 |
515 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { | 507 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { |
516 gfx::Vector2d scroll_offset(10, 5); | 508 gfx::Vector2d scroll_offset(10, 5); |
517 layer()->SetScrollOffset(scroll_offset); | 509 layer()->SetScrollOffset(scroll_offset); |
518 | 510 |
519 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 511 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); |
520 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 512 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
(...skipping 17 matching lines...) Expand all Loading... |
538 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 530 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); |
539 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 531 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
540 | 532 |
541 gfx::Vector2dF scroll_delta(1, 1); | 533 gfx::Vector2dF scroll_delta(1, 1); |
542 layer()->ScrollBy(scroll_delta); | 534 layer()->ScrollBy(scroll_delta); |
543 | 535 |
544 EXPECT_VECTOR_EQ(fixed_offset + scroll_delta, layer()->TotalScrollOffset()); | 536 EXPECT_VECTOR_EQ(fixed_offset + scroll_delta, layer()->TotalScrollOffset()); |
545 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 537 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
546 } | 538 } |
547 | 539 |
548 class ScrollDelegateAccept : public LayerScrollOffsetDelegate { | 540 class ScrollDelegateAccept : public LayerImpl::ScrollOffsetDelegate { |
549 public: | 541 public: |
550 virtual void SetMaxScrollOffset( | |
551 const gfx::Vector2dF& max_scroll_offset) OVERRIDE {} | |
552 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE { | 542 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE { |
553 current_offset_ = new_value; | 543 current_offset_ = new_value; |
554 } | 544 } |
555 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { | 545 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { |
556 return current_offset_; | 546 return current_offset_; |
557 } | 547 } |
558 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } | 548 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } |
559 virtual void SetTotalPageScaleFactorAndLimits( | |
560 float page_scale_factor, | |
561 float min_page_scale_factor, | |
562 float max_page_scale_factor) OVERRIDE {} | |
563 virtual void SetScrollableSize(const gfx::SizeF& scrollable_size) OVERRIDE {} | |
564 | 549 |
565 private: | 550 private: |
566 gfx::Vector2dF current_offset_; | 551 gfx::Vector2dF current_offset_; |
567 }; | 552 }; |
568 | 553 |
569 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) { | 554 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) { |
570 gfx::Vector2d scroll_offset(10, 5); | 555 gfx::Vector2d scroll_offset(10, 5); |
571 layer()->SetScrollOffset(scroll_offset); | 556 layer()->SetScrollOffset(scroll_offset); |
572 | 557 |
573 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 558 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 layer()->set_user_scrollable_vertical(false); | 658 layer()->set_user_scrollable_vertical(false); |
674 layer()->SetScrollOffset(scroll_offset); | 659 layer()->SetScrollOffset(scroll_offset); |
675 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); | 660 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); |
676 | 661 |
677 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); | 662 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); |
678 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); | 663 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); |
679 } | 664 } |
680 | 665 |
681 } // namespace | 666 } // namespace |
682 } // namespace cc | 667 } // namespace cc |
OLD | NEW |