#include "third_party/blink/renderer/core/page/autoscroll_controller.h"
#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame_client.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/frame/visual_viewport.h"
#include "third_party/blink/renderer/core/html/html_frame_owner_element.h"
#include "third_party/blink/renderer/core/input/event_handler.h"
#include "third_party/blink/renderer/core/input/scroll_manager.h"
#include "third_party/blink/renderer/core/layout/hit_test_result.h"
#include "third_party/blink/renderer/core/layout/layout_box.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/scroll/scroll_types.h"
#include "third_party/blink/renderer/platform/cursors.h"
#include "ui/base/cursor/cursor.h"
namespace blink {
constexpr base::TimeDelta kAutoscrollDelay = …;
static const int kNoMiddleClickAutoscrollRadius = …;
static const ui::Cursor& MiddleClickAutoscrollCursor(
const gfx::Vector2dF& velocity,
bool scroll_vert,
bool scroll_horiz) { … }
AutoscrollController::AutoscrollController(Page& page) : … { … }
void AutoscrollController::Trace(Visitor* visitor) const { … }
bool AutoscrollController::SelectionAutoscrollInProgress() const { … }
bool AutoscrollController::AutoscrollInProgress() const { … }
bool AutoscrollController::AutoscrollInProgressFor(
const LayoutBox* layout_object) const { … }
void AutoscrollController::StartAutoscrollForSelection(
LayoutObject* layout_object) { … }
void AutoscrollController::StopAutoscroll() { … }
void AutoscrollController::StopAutoscrollIfNeeded(LayoutObject* layout_object) { … }
void AutoscrollController::UpdateDragAndDrop(Node* drop_target_node,
const gfx::PointF& event_position,
base::TimeTicks event_time) { … }
bool CanScrollDirection(LayoutBox* layout_box,
Page* page,
ScrollOrientation orientation) { … }
void AutoscrollController::HandleMouseMoveForMiddleClickAutoscroll(
LocalFrame* frame,
const gfx::PointF& position_global,
bool is_middle_button) { … }
void AutoscrollController::HandleMouseReleaseForMiddleClickAutoscroll(
LocalFrame* frame,
bool is_middle_button) { … }
void AutoscrollController::StopMiddleClickAutoscroll(LocalFrame* frame) { … }
bool AutoscrollController::MiddleClickAutoscrollInProgress() const { … }
void AutoscrollController::StartMiddleClickAutoscroll(
LocalFrame* frame,
LayoutBox* scrollable,
const gfx::PointF& position,
const gfx::PointF& position_global) { … }
void AutoscrollController::Animate() { … }
void AutoscrollController::ScheduleMainThreadAnimation() { … }
void AutoscrollController::UpdateCachedAutoscrollForSelectionState(
bool autoscroll_selection) { … }
bool AutoscrollController::IsAutoscrolling() const { … }
}