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

Side by Side Diff: third_party/WebKit/Source/platform/scroll/ScrollbarTestSuite.h

Issue 2590163004: Aura overlay scrollbars shouldn't invalidate thumb on scroll or enabled state. (Closed)
Patch Set: Nit Created 3 years, 12 months 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
OLDNEW
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"
11 #include "platform/scroll/ScrollbarThemeMock.h" 11 #include "platform/scroll/ScrollbarThemeMock.h"
12 #include "platform/testing/TestingPlatformSupport.h" 12 #include "platform/testing/TestingPlatformSupport.h"
13 #include "testing/gmock/include/gmock/gmock.h" 13 #include "testing/gmock/include/gmock/gmock.h"
14 #include "wtf/PtrUtil.h" 14 #include "wtf/PtrUtil.h"
15 #include <memory> 15 #include <memory>
16 16
17 namespace blink { 17 namespace blink {
18 18
19 class MockScrollableArea : public GarbageCollectedFinalized<MockScrollableArea>, 19 class MockScrollableArea : public GarbageCollectedFinalized<MockScrollableArea>,
20 public ScrollableArea { 20 public ScrollableArea {
21 USING_GARBAGE_COLLECTED_MIXIN(MockScrollableArea); 21 USING_GARBAGE_COLLECTED_MIXIN(MockScrollableArea);
22 22
23 public: 23 public:
24 // Public to allow using NiceMock.
jbroman 2016/12/22 15:21:00 Does protected not work? NiceMock<T> derives from
bokan 2016/12/22 16:10:55 Sure does. Done.
25 explicit MockScrollableArea() : m_maximumScrollOffset(ScrollOffset(0, 100)) {}
26 explicit MockScrollableArea(const ScrollOffset& offset)
27 : m_maximumScrollOffset(offset) {}
28
24 static MockScrollableArea* create() { return new MockScrollableArea(); } 29 static MockScrollableArea* create() { return new MockScrollableArea(); }
25 30
26 static MockScrollableArea* create(const ScrollOffset& maximumScrollOffset) { 31 static MockScrollableArea* create(const ScrollOffset& maximumScrollOffset) {
27 MockScrollableArea* mock = create(); 32 MockScrollableArea* mock = create();
28 mock->setMaximumScrollOffset(maximumScrollOffset); 33 mock->setMaximumScrollOffset(maximumScrollOffset);
29 return mock; 34 return mock;
30 } 35 }
31 36
32 MOCK_CONST_METHOD0(visualRectForScrollbarParts, LayoutRect()); 37 MOCK_CONST_METHOD0(visualRectForScrollbarParts, LayoutRect());
33 MOCK_CONST_METHOD0(isActive, bool()); 38 MOCK_CONST_METHOD0(isActive, bool());
34 MOCK_CONST_METHOD1(scrollSize, int(ScrollbarOrientation)); 39 MOCK_CONST_METHOD1(scrollSize, int(ScrollbarOrientation));
35 MOCK_CONST_METHOD0(isScrollCornerVisible, bool()); 40 MOCK_CONST_METHOD0(isScrollCornerVisible, bool());
36 MOCK_CONST_METHOD0(scrollCornerRect, IntRect()); 41 MOCK_CONST_METHOD0(scrollCornerRect, IntRect());
37 MOCK_CONST_METHOD0(horizontalScrollbar, Scrollbar*());
38 MOCK_CONST_METHOD0(verticalScrollbar, Scrollbar*());
39 MOCK_CONST_METHOD0(enclosingScrollableArea, ScrollableArea*()); 42 MOCK_CONST_METHOD0(enclosingScrollableArea, ScrollableArea*());
40 MOCK_CONST_METHOD1(visibleContentRect, IntRect(IncludeScrollbarsInRect)); 43 MOCK_CONST_METHOD1(visibleContentRect, IntRect(IncludeScrollbarsInRect));
41 MOCK_CONST_METHOD0(contentsSize, IntSize()); 44 MOCK_CONST_METHOD0(contentsSize, IntSize());
42 MOCK_CONST_METHOD0(scrollableAreaBoundingBox, IntRect()); 45 MOCK_CONST_METHOD0(scrollableAreaBoundingBox, IntRect());
43 MOCK_CONST_METHOD0(layerForHorizontalScrollbar, GraphicsLayer*()); 46 MOCK_CONST_METHOD0(layerForHorizontalScrollbar, GraphicsLayer*());
44 MOCK_CONST_METHOD0(layerForVerticalScrollbar, GraphicsLayer*()); 47 MOCK_CONST_METHOD0(layerForVerticalScrollbar, GraphicsLayer*());
48 MOCK_CONST_METHOD0(horizontalScrollbar, Scrollbar*());
49 MOCK_CONST_METHOD0(verticalScrollbar, Scrollbar*());
45 50
46 bool userInputScrollable(ScrollbarOrientation) const override { return true; } 51 bool userInputScrollable(ScrollbarOrientation) const override { return true; }
47 bool scrollbarsCanBeActive() const override { return true; } 52 bool scrollbarsCanBeActive() const override { return true; }
48 bool shouldPlaceVerticalScrollbarOnLeft() const override { return false; } 53 bool shouldPlaceVerticalScrollbarOnLeft() const override { return false; }
49 void updateScrollOffset(const ScrollOffset& offset, ScrollType) override { 54 void updateScrollOffset(const ScrollOffset& offset, ScrollType) override {
50 m_scrollOffset = offset.shrunkTo(m_maximumScrollOffset); 55 m_scrollOffset = offset.shrunkTo(m_maximumScrollOffset);
51 } 56 }
52 IntSize scrollOffsetInt() const override { 57 IntSize scrollOffsetInt() const override {
53 return flooredIntSize(m_scrollOffset); 58 return flooredIntSize(m_scrollOffset);
54 } 59 }
(...skipping 11 matching lines...) Expand all
66 using ScrollableArea::verticalScrollbarNeedsPaintInvalidation; 71 using ScrollableArea::verticalScrollbarNeedsPaintInvalidation;
67 using ScrollableArea::clearNeedsPaintInvalidationForScrollControls; 72 using ScrollableArea::clearNeedsPaintInvalidationForScrollControls;
68 73
69 DEFINE_INLINE_VIRTUAL_TRACE() { ScrollableArea::trace(visitor); } 74 DEFINE_INLINE_VIRTUAL_TRACE() { ScrollableArea::trace(visitor); }
70 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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698