#include "chrome/browser/ui/views/tabs/tab_strip_scroll_session.h"
#include <algorithm>
#include "base/check.h"
#include "chrome/browser/ui/views/tabs/tab_drag_controller.h"
#include "ui/gfx/geometry/point.h"
#include "ui/views/controls/scroll_view.h"
namespace {
const base::TimeDelta kScrollTimerDelay = …;
const int kNumberOfTabsScrolledPerSecond = …;
}
TabStripScrollSession::TabStripScrollSession(
TabDragWithScrollManager& tab_drag_with_scroll_manager)
: … { … }
TabStripScrollSession::~TabStripScrollSession() = default;
TabStripScrollSessionWithTimer::TabStripScrollSessionWithTimer(
TabDragWithScrollManager& tab_drag_with_scroll_manager,
ScrollSessionTimerType timer_type)
: … { … }
TabStripScrollSessionWithTimer::~TabStripScrollSessionWithTimer() = default;
void TabStripScrollSessionWithTimer::MaybeStart() { … }
void TabStripScrollSessionWithTimer::Start(TabScrollDirection direction) { … }
void TabStripScrollSessionWithTimer::TabScrollCallback() { … }
void TabStripScrollSessionWithTimer::Stop() { … }
bool TabStripScrollSessionWithTimer::IsRunning() { … }
int TabStripScrollSessionWithTimer::CalculateSpeed() { … }
double TabStripScrollSessionWithTimer::CalculateBaseScrollOffset() { … }
double TabStripScrollSessionWithTimer::GetRatioInScrollableRegion() { … }
TabStripScrollSession::TabScrollDirection
TabStripScrollSessionWithTimer::GetTabScrollDirection() { … }
int TabStripScrollSession::GetScrollableOffset() const { … }