Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(617)

Unified Diff: third_party/WebKit/Source/core/page/AutoscrollController.cpp

Issue 2484563003: Determine the layoutobject of middleClickAutoscroll by the scroll direction. (Closed)
Patch Set: Rename Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698