| Index: content/browser/renderer_host/input/touch_emulator.cc
|
| diff --git a/content/browser/renderer_host/input/touch_emulator.cc b/content/browser/renderer_host/input/touch_emulator.cc
|
| index bee97fb0772e38460e74df1bed6d03f01fc612c5..9068dd1e55112f78816d35f159da5be54ce1f80b 100644
|
| --- a/content/browser/renderer_host/input/touch_emulator.cc
|
| +++ b/content/browser/renderer_host/input/touch_emulator.cc
|
| @@ -131,7 +131,8 @@ bool TouchEmulator::HandleMouseEvent(const WebMouseEvent& mouse_event) {
|
| if (mouse_event.button != WebMouseEvent::ButtonLeft)
|
| return true;
|
|
|
| - if (mouse_event.type == WebInputEvent::MouseMove) {
|
| + if (mouse_event.type == WebInputEvent::MouseMove &&
|
| + mouse_event.timeStampSeconds) {
|
| if (last_mouse_event_was_move_ &&
|
| mouse_event.timeStampSeconds < last_mouse_move_timestamp_ +
|
| kMouseMoveDropIntervalSeconds)
|
| @@ -316,7 +317,7 @@ void TouchEmulator::PinchEnd(const WebGestureEvent& event) {
|
| client_->ForwardGestureEvent(pinch_event_);
|
| }
|
|
|
| -void TouchEmulator::FillPinchEvent(const WebInputEvent& event) {
|
| +void TouchEmulator::FillPinchEvent(const WebGestureEvent& event) {
|
| pinch_event_.timeStampSeconds = event.timeStampSeconds;
|
| pinch_event_.modifiers = event.modifiers;
|
| pinch_event_.sourceDevice = blink::WebGestureEvent::Touchscreen;
|
| @@ -362,6 +363,12 @@ bool TouchEmulator::FillTouchEventAndPoint(const WebMouseEvent& mouse_event) {
|
| WebTouchEventTraits::ResetTypeAndTouchStates(
|
| eventType, mouse_event.timeStampSeconds, &touch_event_);
|
|
|
| + if (!touch_event_.timeStampSeconds) {
|
| + // Gesture detector does not tolerate null timestamps generated in tests.
|
| + touch_event_.timeStampSeconds =
|
| + (base::TimeTicks::Now() - base::TimeTicks()).InSecondsF();
|
| + }
|
| +
|
| WebTouchPoint& point = touch_event_.touches[0];
|
| point.id = 0;
|
| point.radiusX = point.radiusY = 1.f;
|
|
|