Index: ui/base/gestures/gesture_sequence.cc |
diff --git a/ui/base/gestures/gesture_sequence.cc b/ui/base/gestures/gesture_sequence.cc |
index 1c674087a6a3df307df8cb9dadf0b69ae67223bc..b4f32e4b50daac1538945c50e4233719b413e542 100644 |
--- a/ui/base/gestures/gesture_sequence.cc |
+++ b/ui/base/gestures/gesture_sequence.cc |
@@ -746,7 +746,9 @@ void GestureSequence::AppendScrollGestureEnd(const GesturePoint& point, |
gestures->push_back(CreateGestureEvent( |
GestureEventDetails(ui::ET_SCROLL_FLING_START, |
CalibrateFlingVelocity(railed_x_velocity), |
- CalibrateFlingVelocity(railed_y_velocity)), |
+ CalibrateFlingVelocity(railed_y_velocity), |
+ CalibrateFlingVelocity(x_velocity), |
+ CalibrateFlingVelocity(y_velocity)), |
location, |
flags_, |
base::Time::FromDoubleT(point.last_touch_time()), |
@@ -789,6 +791,8 @@ void GestureSequence::AppendScrollGestureUpdate(GesturePoint& point, |
last_scroll_prediction_offset_.y()); |
} |
+ gfx::Vector2dF o = d; |
+ |
if (scroll_type_ == ST_HORIZONTAL) |
d.set_y(0); |
else if (scroll_type_ == ST_VERTICAL) |
@@ -796,10 +800,13 @@ void GestureSequence::AppendScrollGestureUpdate(GesturePoint& point, |
if (d.IsZero()) |
return; |
- GestureEventDetails details(ui::ET_GESTURE_SCROLL_UPDATE, d.x(), d.y()); |
+ GestureEventDetails details(ui::ET_GESTURE_SCROLL_UPDATE, |
+ d.x(), d.y(), o.x(), o.y()); |
details.SetScrollVelocity( |
scroll_type_ == ST_VERTICAL ? 0 : point.XVelocity(), |
- scroll_type_ == ST_HORIZONTAL ? 0 : point.YVelocity()); |
+ scroll_type_ == ST_HORIZONTAL ? 0 : point.YVelocity(), |
+ point.XVelocity(), |
+ point.YVelocity()); |
gestures->push_back(CreateGestureEvent( |
details, |
location, |