| 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 | 
|---|