Chromium Code Reviews| Index: ui/events/blink/blink_event_util.cc |
| diff --git a/ui/events/blink/blink_event_util.cc b/ui/events/blink/blink_event_util.cc |
| index 6378ce21ff9968ecc7e1652a547c9d451f982fbf..4143e078ba2f9f3c6a4909430f0a07d2af862f32 100644 |
| --- a/ui/events/blink/blink_event_util.cc |
| +++ b/ui/events/blink/blink_event_util.cc |
| @@ -750,8 +750,10 @@ std::unique_ptr<blink::WebInputEvent> TranslateAndScaleWebInputEvent( |
| wheel_event->y += delta.y(); |
| wheel_event->x *= scale; |
| wheel_event->y *= scale; |
| - wheel_event->deltaX *= scale; |
| - wheel_event->deltaY *= scale; |
| + if (!wheel_event->scrollByPage) { |
| + wheel_event->deltaX *= scale; |
| + wheel_event->deltaY *= scale; |
| + } |
| wheel_event->wheelTicksX *= scale; |
|
aelias_OOO_until_Jul13
2017/02/16 22:11:13
I think wheel tick count should be within the if b
chengx
2017/02/17 08:26:02
Done.
|
| wheel_event->wheelTicksY *= scale; |
| } else if (blink::WebInputEvent::isMouseEventType(event.type())) { |
| @@ -788,12 +790,18 @@ std::unique_ptr<blink::WebInputEvent> TranslateAndScaleWebInputEvent( |
| gesture_event->y *= scale; |
| switch (gesture_event->type()) { |
| case blink::WebInputEvent::GestureScrollUpdate: |
| - gesture_event->data.scrollUpdate.deltaX *= scale; |
| - gesture_event->data.scrollUpdate.deltaY *= scale; |
| + if (gesture_event->data.scrollUpdate.deltaUnits != |
| + blink::WebGestureEvent::ScrollUnits::Page) { |
| + gesture_event->data.scrollUpdate.deltaX *= scale; |
| + gesture_event->data.scrollUpdate.deltaY *= scale; |
| + } |
| break; |
| case blink::WebInputEvent::GestureScrollBegin: |
| - gesture_event->data.scrollBegin.deltaXHint *= scale; |
| - gesture_event->data.scrollBegin.deltaYHint *= scale; |
| + if (gesture_event->data.scrollBegin.deltaHintUnits != |
| + blink::WebGestureEvent::ScrollUnits::Page) { |
| + gesture_event->data.scrollBegin.deltaXHint *= scale; |
| + gesture_event->data.scrollBegin.deltaYHint *= scale; |
| + } |
| break; |
| case blink::WebInputEvent::GesturePinchUpdate: |