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

Unified Diff: third_party/WebKit/Source/core/input/EventHandler.h

Issue 1840113005: Move viewport actions into an ApplyScroll callback. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months 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/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);

Powered by Google App Engine
This is Rietveld 408576698