| Index: third_party/WebKit/Source/platform/scroll/ScrollAnimatorTest.cpp
|
| diff --git a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorTest.cpp b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorTest.cpp
|
| index e0f29e0435a4f515670f4dd4677c72e592abf204..976a456e9e33db9bf47cdd81cfa1c5b35f723157 100644
|
| --- a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorTest.cpp
|
| +++ b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorTest.cpp
|
| @@ -88,6 +88,16 @@ public:
|
| animator = scrollAnimator;
|
| }
|
|
|
| + bool shouldScrollOnMainThread() const override
|
| + {
|
| + return m_scrollOnMainThread;
|
| + }
|
| +
|
| + void setScrollOnMainThread(bool scrollOnMainThread)
|
| + {
|
| + m_scrollOnMainThread = scrollOnMainThread;
|
| + }
|
| +
|
| DoublePoint scrollPositionDouble() const override
|
| {
|
| if (animator)
|
| @@ -114,6 +124,7 @@ private:
|
| : m_scrollAnimatorEnabled(scrollAnimatorEnabled) { }
|
|
|
| bool m_scrollAnimatorEnabled;
|
| + bool m_scrollOnMainThread = false;
|
| Member<ScrollAnimator> animator;
|
| };
|
|
|
| @@ -157,6 +168,7 @@ static void reset(ScrollAnimator& scrollAnimator)
|
| TEST(ScrollAnimatorTest, MainThreadStates)
|
| {
|
| MockScrollableArea* scrollableArea = MockScrollableArea::create(true);
|
| + scrollableArea->setScrollOnMainThread(true);
|
| ScrollAnimator* scrollAnimator = new ScrollAnimator(scrollableArea, getMockedTime);
|
|
|
| EXPECT_CALL(*scrollableArea, minimumScrollPosition()).Times(AtLeast(1))
|
| @@ -164,7 +176,8 @@ TEST(ScrollAnimatorTest, MainThreadStates)
|
| EXPECT_CALL(*scrollableArea, maximumScrollPosition()).Times(AtLeast(1))
|
| .WillRepeatedly(Return(IntPoint(1000, 1000)));
|
| EXPECT_CALL(*scrollableArea, setScrollOffset(_, _)).Times(2);
|
| - EXPECT_CALL(*scrollableArea, registerForAnimation()).Times(2);
|
| + // Once from userScroll.
|
| + EXPECT_CALL(*scrollableArea, registerForAnimation()).Times(1);
|
| EXPECT_CALL(*scrollableArea, scheduleAnimation()).Times(AtLeast(1))
|
| .WillRepeatedly(Return(true));
|
|
|
| @@ -176,7 +189,7 @@ TEST(ScrollAnimatorTest, MainThreadStates)
|
| // WaitingToSendToCompositor
|
| scrollAnimator->userScroll(ScrollByLine, FloatSize(10, 0));
|
| EXPECT_EQ(scrollAnimator->m_runState,
|
| - ScrollAnimatorCompositorCoordinator::RunState::WaitingToSendToCompositor);
|
| + ScrollAnimatorCompositorCoordinator::RunState::RunningOnMainThread);
|
|
|
| // RunningOnMainThread
|
| gMockedTime += 0.05;
|
| @@ -199,6 +212,9 @@ TEST(ScrollAnimatorTest, MainThreadStates)
|
| ScrollAnimatorCompositorCoordinator::RunState::Idle);
|
|
|
| reset(*scrollAnimator);
|
| +
|
| + // Forced GC in order to finalize objects depending on the mock object.
|
| + ThreadHeap::collectAllGarbage();
|
| }
|
|
|
| TEST(ScrollAnimatorTest, MainThreadEnabled)
|
|
|