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: |