Index: third_party/WebKit/Source/core/input/EventHandler.h |
diff --git a/third_party/WebKit/Source/core/input/EventHandler.h b/third_party/WebKit/Source/core/input/EventHandler.h |
index e5cf6c4618a6458ae61b3d71348ae7fd25861b00..77a9c5833b6433f1e0087d58e0c59004f00117d9 100644 |
--- a/third_party/WebKit/Source/core/input/EventHandler.h |
+++ b/third_party/WebKit/Source/core/input/EventHandler.h |
@@ -234,6 +234,9 @@ public: |
String region; |
}; |
+ // TODO(bokan): This seems like it no longer belongs here. |
+ void handleOverscroll(const ScrollResult&, const FloatPoint& position = FloatPoint(), const FloatSize& velocity = FloatSize()); |
+ |
private: |
static DragState& dragState(); |
@@ -278,6 +281,8 @@ private: |
// delta - The delta to scroll by, in the units of the granularity param |
// (e.g. pixels, lines, pages, etc.). These are in a physical |
// direction. i.e. Positive is down and right. |
+ // position - Where the scroll originated from (e.g. touch location). |
+ // velocity - The velocity of the scroll in the case of fling gestures. |
// startNode - The node to start the scroll chaining from. |
// stopNode - On input, if non-null, the node at which we should stop |
// chaining. On output, if provided and a node was scrolled, |
@@ -286,7 +291,14 @@ private: |
// ScrollResult.didScroll since we might not have scrolled but |
// have reached the stopNode and thus don't want to continue |
// chaining the scroll. |
- ScrollResult physicalScroll(ScrollGranularity, const FloatSize& delta, Node* startNode, Node** stopNode, bool* consumed); |
+ ScrollResult physicalScroll( |
+ ScrollGranularity, |
+ const FloatSize& delta, |
+ const FloatPoint& position, |
+ const FloatSize& velocity, |
+ Node* startNode, |
+ Node** stopNode, |
+ bool* consumed); |
// Performs a chaining logical scroll, within a *single* frame, starting |
// from either a provided starting node or a default based on the focused or |
@@ -301,8 +313,16 @@ private: |
bool logicalScroll(ScrollDirection, ScrollGranularity, Node* startNode = nullptr); |
void resetOverscroll(bool didScrollX, bool didScrollY); |
- void handleOverscroll(const ScrollResult&, const FloatPoint& position = FloatPoint(), const FloatSize& velocity = FloatSize()); |
+ ScrollResult scrollBox( |
+ LayoutBox*, |
+ ScrollGranularity, |
+ const FloatSize& delta, |
+ const FloatPoint& position, |
+ const FloatSize& velocity, |
+ bool* wasRootScroller); |
+ |
+ bool isRootScroller(const Node&) const; |
void customizedScroll(const Node& startNode, ScrollState&); |
HitTestResult hitTestResultInFrame(LocalFrame*, const LayoutPoint&, HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active); |