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

Unified Diff: content/renderer/input/input_handler_proxy.cc

Issue 1049383003: Postpone rail application for touch scrolling - chrome side. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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: content/renderer/input/input_handler_proxy.cc
diff --git a/content/renderer/input/input_handler_proxy.cc b/content/renderer/input/input_handler_proxy.cc
index f714ef1f3d956678b8ba0b3cd744f85715a142a7..1fc8a1dad061db0318e274620840f53448747a03 100644
--- a/content/renderer/input/input_handler_proxy.cc
+++ b/content/renderer/input/input_handler_proxy.cc
@@ -456,8 +456,18 @@ InputHandlerProxy::HandleGestureScrollUpdate(
return DID_NOT_HANDLE;
gfx::Point scroll_point(gesture_event.x, gesture_event.y);
- gfx::Vector2dF scroll_delta(-gesture_event.data.scrollUpdate.deltaX,
- -gesture_event.data.scrollUpdate.deltaY);
+
+ // TODO(tdresser): The rail information should be pushed down into
+ // InputHandler.
ccameron 2015/04/01 17:20:25 Oh, crap, I didn't do my TODO for this that I'd pr
tdresser 2015/04/01 17:22:45 Sounds good, thanks.
+ const float dx = gesture_event.data.scrollUpdate.deltaX;
+ const float dy = gesture_event.data.scrollUpdate.deltaY;
+ const WebInputEvent::RailsMode railsMode =
+ gesture_event.data.scrollUpdate.railsMode;
+
+ gfx::Vector2dF scroll_delta(
+ railsMode != WebInputEvent::RailsModeVertical ? -dx : 0,
+ railsMode != WebInputEvent::RailsModeHorizontal ? -dy : 0);
+
cc::InputHandlerScrollResult scroll_result = input_handler_->ScrollBy(
scroll_point, scroll_delta);
HandleOverscroll(scroll_point, scroll_result);
@@ -501,9 +511,21 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleGestureFlingStart(
if (gesture_event.sourceDevice == blink::WebGestureDeviceTouchpad)
input_handler_->ScrollEnd();
- const float vx = gesture_event.data.flingStart.velocityX;
- const float vy = gesture_event.data.flingStart.velocityY;
- current_fling_velocity_ = gfx::Vector2dF(vx, vy);
+ // TODO(tdresser): The rail information should be pushed down into
+ // InputHandler.
+ const WebInputEvent::RailsMode railsMode =
+ gesture_event.data.flingStart.railsMode;
+
+ float vx = railsMode != WebInputEvent::RailsModeVertical
+ ? gesture_event.data.flingStart.velocityX
+ : 0;
+ float vy = railsMode != WebInputEvent::RailsModeHorizontal
+ ? gesture_event.data.flingStart.velocityY
+ : 0;
+
+ current_fling_velocity_.set_x(vx);
+ current_fling_velocity_.set_y(vy);
+
DCHECK(!current_fling_velocity_.IsZero());
fling_curve_.reset(client_->CreateFlingAnimationCurve(
gesture_event.sourceDevice,
« no previous file with comments | « no previous file | ui/aura/gestures/gesture_recognizer_unittest.cc » ('j') | ui/events/gesture_detection/gesture_provider.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698