| Index: content/browser/renderer_host/input/mouse_wheel_event_queue.cc
|
| diff --git a/content/browser/renderer_host/input/mouse_wheel_event_queue.cc b/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
|
| index 7579c2afb434748bf33817c802fbe61fbd5b2191..ad46286714c6ec8deaad77fc06d9c0e4f224e851 100644
|
| --- a/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
|
| +++ b/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
|
| @@ -99,10 +99,21 @@ void MouseWheelEventQueue::ProcessMouseWheelAck(
|
| scroll_update.type = WebInputEvent::GestureScrollUpdate;
|
| scroll_update.sourceDevice = blink::WebGestureDeviceTouchpad;
|
| scroll_update.resendingPluginId = -1;
|
| - scroll_update.data.scrollUpdate.deltaX =
|
| - event_sent_for_gesture_ack_->event.deltaX;
|
| - scroll_update.data.scrollUpdate.deltaY =
|
| - event_sent_for_gesture_ack_->event.deltaY;
|
| +
|
| + // Swap X & Y if Shift is down and when there is no horizontal movement.
|
| + if ((event_sent_for_gesture_ack_->event.modifiers &
|
| + WebInputEvent::ShiftKey) != 0 &&
|
| + event_sent_for_gesture_ack_->event.deltaX == 0) {
|
| + scroll_update.data.scrollUpdate.deltaX =
|
| + event_sent_for_gesture_ack_->event.deltaY;
|
| + scroll_update.data.scrollUpdate.deltaY =
|
| + event_sent_for_gesture_ack_->event.deltaX;
|
| + } else {
|
| + scroll_update.data.scrollUpdate.deltaX =
|
| + event_sent_for_gesture_ack_->event.deltaX;
|
| + scroll_update.data.scrollUpdate.deltaY =
|
| + event_sent_for_gesture_ack_->event.deltaY;
|
| + }
|
| // Only OSX populates the phase and momentumPhase; so
|
| // |inertialPhase| will be UnknownMomentumPhase on all other platforms.
|
| if (event_sent_for_gesture_ack_->event.momentumPhase !=
|
|
|