| 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 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 LayerScrollOffsetDelegate { |
| 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 virtual void UpdateRootLayerState(const gfx::Vector2dF& total_scroll_offset, |
| 505 virtual void SetTotalPageScaleFactorAndLimits( | 503 const gfx::Vector2dF& max_scroll_offset, |
| 506 float page_scale_factor, | 504 const gfx::SizeF& scrollable_size, |
| 507 float min_page_scale_factor, | 505 float page_scale_factor, |
| 508 float max_page_scale_factor) OVERRIDE {} | 506 float min_page_scale_factor, |
| 509 virtual void SetScrollableSize(const gfx::SizeF& scrollable_size) OVERRIDE {} | 507 float max_page_scale_factor) OVERRIDE { |
| 508 NOTREACHED(); |
| 509 } |
| 510 | 510 |
| 511 private: | 511 private: |
| 512 gfx::Vector2dF fixed_offset_; | 512 gfx::Vector2dF fixed_offset_; |
| 513 }; | 513 }; |
| 514 | 514 |
| 515 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { | 515 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { |
| 516 gfx::Vector2d scroll_offset(10, 5); | 516 gfx::Vector2d scroll_offset(10, 5); |
| 517 layer()->SetScrollOffset(scroll_offset); | 517 layer()->SetScrollOffset(scroll_offset); |
| 518 | 518 |
| 519 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 519 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 540 | 540 |
| 541 gfx::Vector2dF scroll_delta(1, 1); | 541 gfx::Vector2dF scroll_delta(1, 1); |
| 542 layer()->ScrollBy(scroll_delta); | 542 layer()->ScrollBy(scroll_delta); |
| 543 | 543 |
| 544 EXPECT_VECTOR_EQ(fixed_offset + scroll_delta, layer()->TotalScrollOffset()); | 544 EXPECT_VECTOR_EQ(fixed_offset + scroll_delta, layer()->TotalScrollOffset()); |
| 545 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 545 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
| 546 } | 546 } |
| 547 | 547 |
| 548 class ScrollDelegateAccept : public LayerScrollOffsetDelegate { | 548 class ScrollDelegateAccept : public LayerScrollOffsetDelegate { |
| 549 public: | 549 public: |
| 550 virtual void SetMaxScrollOffset( | |
| 551 const gfx::Vector2dF& max_scroll_offset) OVERRIDE {} | |
| 552 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE { | 550 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE { |
| 553 current_offset_ = new_value; | 551 current_offset_ = new_value; |
| 554 } | 552 } |
| 555 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { | 553 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { |
| 556 return current_offset_; | 554 return current_offset_; |
| 557 } | 555 } |
| 558 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } | 556 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } |
| 559 virtual void SetTotalPageScaleFactorAndLimits( | 557 virtual void UpdateRootLayerState(const gfx::Vector2dF& total_scroll_offset, |
| 560 float page_scale_factor, | 558 const gfx::Vector2dF& max_scroll_offset, |
| 561 float min_page_scale_factor, | 559 const gfx::SizeF& scrollable_size, |
| 562 float max_page_scale_factor) OVERRIDE {} | 560 float page_scale_factor, |
| 563 virtual void SetScrollableSize(const gfx::SizeF& scrollable_size) OVERRIDE {} | 561 float min_page_scale_factor, |
| 562 float max_page_scale_factor) OVERRIDE { |
| 563 NOTREACHED(); |
| 564 } |
| 564 | 565 |
| 565 private: | 566 private: |
| 566 gfx::Vector2dF current_offset_; | 567 gfx::Vector2dF current_offset_; |
| 567 }; | 568 }; |
| 568 | 569 |
| 569 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) { | 570 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) { |
| 570 gfx::Vector2d scroll_offset(10, 5); | 571 gfx::Vector2d scroll_offset(10, 5); |
| 571 layer()->SetScrollOffset(scroll_offset); | 572 layer()->SetScrollOffset(scroll_offset); |
| 572 | 573 |
| 573 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 574 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); | 674 layer()->set_user_scrollable_vertical(false); |
| 674 layer()->SetScrollOffset(scroll_offset); | 675 layer()->SetScrollOffset(scroll_offset); |
| 675 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); | 676 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); |
| 676 | 677 |
| 677 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); | 678 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); |
| 678 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); | 679 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); |
| 679 } | 680 } |
| 680 | 681 |
| 681 } // namespace | 682 } // namespace |
| 682 } // namespace cc | 683 } // namespace cc |
| OLD | NEW |