| Index: third_party/WebKit/Source/core/page/AutoscrollController.cpp
|
| diff --git a/third_party/WebKit/Source/core/page/AutoscrollController.cpp b/third_party/WebKit/Source/core/page/AutoscrollController.cpp
|
| index 454f53380c05baf2936ed47c1828d3c95a4e3c46..764ba35505d04e1584f5d863906576fc9c14490b 100644
|
| --- a/third_party/WebKit/Source/core/page/AutoscrollController.cpp
|
| +++ b/third_party/WebKit/Source/core/page/AutoscrollController.cpp
|
| @@ -54,7 +54,8 @@ AutoscrollController::AutoscrollController(Page& page)
|
| m_autoscrollLayoutObject(nullptr),
|
| m_pressedLayoutObject(nullptr),
|
| m_autoscrollType(NoAutoscroll),
|
| - m_dragAndDropAutoscrollStartTime(0) {}
|
| + m_dragAndDropAutoscrollStartTime(0),
|
| + m_middleClickAutoscrolled(false) {}
|
|
|
| DEFINE_TRACE(AutoscrollController) {
|
| visitor->trace(m_page);
|
| @@ -120,6 +121,15 @@ void AutoscrollController::stopAutoscrollIfNeeded(LayoutObject* layoutObject) {
|
| m_autoscrollType = NoAutoscroll;
|
| }
|
|
|
| +bool AutoscrollController::setMiddleClickAutoscrollLayoutObject(
|
| + LayoutBox* layoutObject) {
|
| + if (!m_middleClickAutoscrolled && layoutObject) {
|
| + m_autoscrollLayoutObject = layoutObject;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| void AutoscrollController::updateAutoscrollLayoutObject() {
|
| if (!m_autoscrollLayoutObject)
|
| return;
|
| @@ -234,6 +244,7 @@ void AutoscrollController::startMiddleClickAutoscroll(
|
| m_autoscrollType = AutoscrollForMiddleClick;
|
| m_autoscrollLayoutObject = scrollable;
|
| m_middleClickAutoscrollStartPos = lastKnownMousePosition;
|
| + m_middleClickAutoscrolled = false;
|
|
|
| UseCounter::count(m_page->mainFrame(),
|
| UseCounter::MiddleClickAutoscrollStart);
|
|
|