blob: e74cdb0794d27e199358ddd68ac0a81cbf71213c [file] [log] [blame]
// Copyright (c) 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_TEST_MOCK_OVERSCROLL_REFRESH_HANDLER_ANDROID_H_
#define CONTENT_TEST_MOCK_OVERSCROLL_REFRESH_HANDLER_ANDROID_H_
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "content/test/mock_overscroll_observer.h"
#include "ui/android/overscroll_refresh_handler.h"
namespace content {
class MessageLoopRunner;
// Receives overscroll gesture updates from the android overscroll controller.
class MockOverscrollRefreshHandlerAndroid : public ui::OverscrollRefreshHandler,
public MockOverscrollObserver {
public:
MockOverscrollRefreshHandlerAndroid();
~MockOverscrollRefreshHandlerAndroid() override;
// ui::OverscrollRefreshHandler:
bool PullStart() override;
void PullUpdate(float) override;
void PullRelease(bool) override;
void PullReset() override;
// MockOverscrollObserver:
void WaitForUpdate() override;
void WaitForEnd() override;
void Reset() override;
private:
void OnPullUpdate();
void OnPullEnd();
scoped_refptr<MessageLoopRunner> update_message_loop_runner_;
scoped_refptr<MessageLoopRunner> end_message_loop_runner_;
bool seen_update_;
bool pull_ended_;
DISALLOW_COPY_AND_ASSIGN(MockOverscrollRefreshHandlerAndroid);
};
} // namespace content
#endif // CONTENT_TEST_MOCK_OVERSCROLL_REFRESH_HANDLER_ANDROID_H_