OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef ScrollbarTestSuite_h | 5 #ifndef ScrollbarTestSuite_h |
6 #define ScrollbarTestSuite_h | 6 #define ScrollbarTestSuite_h |
7 | 7 |
8 #include "platform/heap/GarbageCollected.h" | 8 #include "platform/heap/GarbageCollected.h" |
9 #include "platform/scroll/ScrollableArea.h" | 9 #include "platform/scroll/ScrollableArea.h" |
10 #include "platform/scroll/Scrollbar.h" | 10 #include "platform/scroll/Scrollbar.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 MockScrollableArea* mock = create(); | 27 MockScrollableArea* mock = create(); |
28 mock->setMaximumScrollOffset(maximumScrollOffset); | 28 mock->setMaximumScrollOffset(maximumScrollOffset); |
29 return mock; | 29 return mock; |
30 } | 30 } |
31 | 31 |
32 MOCK_CONST_METHOD0(visualRectForScrollbarParts, LayoutRect()); | 32 MOCK_CONST_METHOD0(visualRectForScrollbarParts, LayoutRect()); |
33 MOCK_CONST_METHOD0(isActive, bool()); | 33 MOCK_CONST_METHOD0(isActive, bool()); |
34 MOCK_CONST_METHOD1(scrollSize, int(ScrollbarOrientation)); | 34 MOCK_CONST_METHOD1(scrollSize, int(ScrollbarOrientation)); |
35 MOCK_CONST_METHOD0(isScrollCornerVisible, bool()); | 35 MOCK_CONST_METHOD0(isScrollCornerVisible, bool()); |
36 MOCK_CONST_METHOD0(scrollCornerRect, IntRect()); | 36 MOCK_CONST_METHOD0(scrollCornerRect, IntRect()); |
37 MOCK_CONST_METHOD0(horizontalScrollbar, Scrollbar*()); | |
38 MOCK_CONST_METHOD0(verticalScrollbar, Scrollbar*()); | |
39 MOCK_CONST_METHOD0(enclosingScrollableArea, ScrollableArea*()); | 37 MOCK_CONST_METHOD0(enclosingScrollableArea, ScrollableArea*()); |
40 MOCK_CONST_METHOD1(visibleContentRect, IntRect(IncludeScrollbarsInRect)); | 38 MOCK_CONST_METHOD1(visibleContentRect, IntRect(IncludeScrollbarsInRect)); |
41 MOCK_CONST_METHOD0(contentsSize, IntSize()); | 39 MOCK_CONST_METHOD0(contentsSize, IntSize()); |
42 MOCK_CONST_METHOD0(scrollableAreaBoundingBox, IntRect()); | 40 MOCK_CONST_METHOD0(scrollableAreaBoundingBox, IntRect()); |
43 MOCK_CONST_METHOD0(layerForHorizontalScrollbar, GraphicsLayer*()); | 41 MOCK_CONST_METHOD0(layerForHorizontalScrollbar, GraphicsLayer*()); |
44 MOCK_CONST_METHOD0(layerForVerticalScrollbar, GraphicsLayer*()); | 42 MOCK_CONST_METHOD0(layerForVerticalScrollbar, GraphicsLayer*()); |
| 43 MOCK_CONST_METHOD0(horizontalScrollbar, Scrollbar*()); |
| 44 MOCK_CONST_METHOD0(verticalScrollbar, Scrollbar*()); |
45 | 45 |
46 bool userInputScrollable(ScrollbarOrientation) const override { return true; } | 46 bool userInputScrollable(ScrollbarOrientation) const override { return true; } |
47 bool scrollbarsCanBeActive() const override { return true; } | 47 bool scrollbarsCanBeActive() const override { return true; } |
48 bool shouldPlaceVerticalScrollbarOnLeft() const override { return false; } | 48 bool shouldPlaceVerticalScrollbarOnLeft() const override { return false; } |
49 void updateScrollOffset(const ScrollOffset& offset, ScrollType) override { | 49 void updateScrollOffset(const ScrollOffset& offset, ScrollType) override { |
50 m_scrollOffset = offset.shrunkTo(m_maximumScrollOffset); | 50 m_scrollOffset = offset.shrunkTo(m_maximumScrollOffset); |
51 } | 51 } |
52 IntSize scrollOffsetInt() const override { | 52 IntSize scrollOffsetInt() const override { |
53 return flooredIntSize(m_scrollOffset); | 53 return flooredIntSize(m_scrollOffset); |
54 } | 54 } |
55 IntSize minimumScrollOffsetInt() const override { return IntSize(); } | 55 IntSize minimumScrollOffsetInt() const override { return IntSize(); } |
56 IntSize maximumScrollOffsetInt() const override { | 56 IntSize maximumScrollOffsetInt() const override { |
57 return expandedIntSize(m_maximumScrollOffset); | 57 return expandedIntSize(m_maximumScrollOffset); |
58 } | 58 } |
59 int visibleHeight() const override { return 768; } | 59 int visibleHeight() const override { return 768; } |
60 int visibleWidth() const override { return 1024; } | 60 int visibleWidth() const override { return 1024; } |
61 bool scrollAnimatorEnabled() const override { return false; } | 61 bool scrollAnimatorEnabled() const override { return false; } |
62 int pageStep(ScrollbarOrientation) const override { return 0; } | 62 int pageStep(ScrollbarOrientation) const override { return 0; } |
63 void scrollControlWasSetNeedsPaintInvalidation() {} | 63 void scrollControlWasSetNeedsPaintInvalidation() {} |
64 | 64 |
65 using ScrollableArea::horizontalScrollbarNeedsPaintInvalidation; | 65 using ScrollableArea::horizontalScrollbarNeedsPaintInvalidation; |
66 using ScrollableArea::verticalScrollbarNeedsPaintInvalidation; | 66 using ScrollableArea::verticalScrollbarNeedsPaintInvalidation; |
67 using ScrollableArea::clearNeedsPaintInvalidationForScrollControls; | 67 using ScrollableArea::clearNeedsPaintInvalidationForScrollControls; |
68 | 68 |
69 DEFINE_INLINE_VIRTUAL_TRACE() { ScrollableArea::trace(visitor); } | 69 DEFINE_INLINE_VIRTUAL_TRACE() { ScrollableArea::trace(visitor); } |
70 | 70 |
| 71 protected: |
| 72 explicit MockScrollableArea() : m_maximumScrollOffset(ScrollOffset(0, 100)) {} |
| 73 explicit MockScrollableArea(const ScrollOffset& offset) |
| 74 : m_maximumScrollOffset(offset) {} |
| 75 |
71 private: | 76 private: |
72 void setMaximumScrollOffset(const ScrollOffset& maximumScrollOffset) { | 77 void setMaximumScrollOffset(const ScrollOffset& maximumScrollOffset) { |
73 m_maximumScrollOffset = maximumScrollOffset; | 78 m_maximumScrollOffset = maximumScrollOffset; |
74 } | 79 } |
75 | 80 |
76 explicit MockScrollableArea() : m_maximumScrollOffset(ScrollOffset(0, 100)) {} | |
77 | |
78 ScrollOffset m_scrollOffset; | 81 ScrollOffset m_scrollOffset; |
79 ScrollOffset m_maximumScrollOffset; | 82 ScrollOffset m_maximumScrollOffset; |
80 }; | 83 }; |
81 | 84 |
82 class ScrollbarTestSuite : public testing::Test { | 85 class ScrollbarTestSuite : public testing::Test { |
83 public: | 86 public: |
84 ScrollbarTestSuite() {} | 87 ScrollbarTestSuite() {} |
85 | 88 |
86 void SetUp() override { | 89 void SetUp() override { |
87 TestingPlatformSupport::Config config; | 90 TestingPlatformSupport::Config config; |
88 config.compositorSupport = Platform::current()->compositorSupport(); | 91 config.compositorSupport = Platform::current()->compositorSupport(); |
89 m_fakePlatform = | 92 m_fakePlatform = |
90 WTF::makeUnique<TestingPlatformSupportWithMockScheduler>(config); | 93 WTF::makeUnique<TestingPlatformSupportWithMockScheduler>(config); |
91 } | 94 } |
92 | 95 |
93 void TearDown() override { m_fakePlatform = nullptr; } | 96 void TearDown() override { m_fakePlatform = nullptr; } |
94 | 97 |
95 private: | 98 private: |
96 std::unique_ptr<TestingPlatformSupportWithMockScheduler> m_fakePlatform; | 99 std::unique_ptr<TestingPlatformSupportWithMockScheduler> m_fakePlatform; |
97 }; | 100 }; |
98 | 101 |
99 } // namespace blink | 102 } // namespace blink |
100 | 103 |
101 #endif | 104 #endif |
OLD | NEW |