| Index: sky/shell/ui/input_event_converter.cc
|
| diff --git a/sky/shell/ui/input_event_converter.cc b/sky/shell/ui/input_event_converter.cc
|
| index 9fcf49c3d23dfcec6b3ee8cebb75321924ad23dd..baa0ee5acb8ee5966d854b21403a5fce2dd1db88 100644
|
| --- a/sky/shell/ui/input_event_converter.cc
|
| +++ b/sky/shell/ui/input_event_converter.cc
|
| @@ -15,8 +15,7 @@ scoped_ptr<blink::WebInputEvent> BuildWebPointerEvent(
|
| const InputEventPtr& event, float device_pixel_ratio) {
|
| scoped_ptr<blink::WebPointerEvent> web_event(new blink::WebPointerEvent);
|
|
|
| - web_event->timeStampMS =
|
| - base::TimeDelta::FromInternalValue(event->time_stamp).InMillisecondsF();
|
| + web_event->timeStampMS = event->time_stamp;
|
|
|
| switch (event->type) {
|
| case EVENT_TYPE_POINTER_DOWN:
|
| @@ -47,15 +46,66 @@ scoped_ptr<blink::WebInputEvent> BuildWebPointerEvent(
|
| return web_event.Pass();
|
| }
|
|
|
| +scoped_ptr<blink::WebInputEvent> BuildWebGestureEvent(
|
| + const InputEventPtr& event, float device_pixel_ratio) {
|
| + scoped_ptr<blink::WebGestureEvent> web_event(new blink::WebGestureEvent);
|
| +
|
| + web_event->timeStampMS = event->time_stamp;
|
| +
|
| + switch (event->type) {
|
| + case EVENT_TYPE_GESTURE_SCROLL_BEGIN:
|
| + web_event->type = blink::WebInputEvent::GestureScrollBegin;
|
| + break;
|
| + case EVENT_TYPE_GESTURE_SCROLL_END:
|
| + web_event->type = blink::WebInputEvent::GestureScrollEnd;
|
| + break;
|
| + case EVENT_TYPE_GESTURE_SCROLL_UPDATE:
|
| + web_event->type = blink::WebInputEvent::GestureScrollUpdate;
|
| + web_event->data.scrollUpdate.deltaX =
|
| + event->gesture_data->dx / device_pixel_ratio;
|
| + web_event->data.scrollUpdate.deltaY =
|
| + event->gesture_data->dy / device_pixel_ratio;
|
| + break;
|
| + case EVENT_TYPE_GESTURE_FLING_START:
|
| + web_event->type = blink::WebInputEvent::GestureFlingStart;
|
| + web_event->data.flingStart.velocityX =
|
| + event->gesture_data->velocityX / device_pixel_ratio;
|
| + web_event->data.flingStart.velocityY =
|
| + event->gesture_data->velocityY / device_pixel_ratio;
|
| + break;
|
| + case EVENT_TYPE_GESTURE_FLING_CANCEL:
|
| + web_event->type = blink::WebInputEvent::GestureFlingCancel;
|
| + break;
|
| + default:
|
| + break;
|
| + }
|
| +
|
| + if (event->gesture_data) {
|
| + web_event->x = event->gesture_data->x / device_pixel_ratio;
|
| + web_event->y = event->gesture_data->y / device_pixel_ratio;
|
| + }
|
| +
|
| + return web_event.Pass();
|
| +}
|
| +
|
| } // namespace
|
|
|
| scoped_ptr<blink::WebInputEvent> ConvertEvent(const InputEventPtr& event,
|
| float device_pixel_ratio) {
|
| - if (event->type == EVENT_TYPE_POINTER_DOWN ||
|
| - event->type == EVENT_TYPE_POINTER_UP ||
|
| - event->type == EVENT_TYPE_POINTER_MOVE ||
|
| - event->type == EVENT_TYPE_POINTER_CANCEL) {
|
| - return BuildWebPointerEvent(event, device_pixel_ratio);
|
| + switch (event->type) {
|
| + case EVENT_TYPE_POINTER_DOWN:
|
| + case EVENT_TYPE_POINTER_UP:
|
| + case EVENT_TYPE_POINTER_MOVE:
|
| + case EVENT_TYPE_POINTER_CANCEL:
|
| + return BuildWebPointerEvent(event, device_pixel_ratio);
|
| + case EVENT_TYPE_GESTURE_SCROLL_BEGIN:
|
| + case EVENT_TYPE_GESTURE_SCROLL_UPDATE:
|
| + case EVENT_TYPE_GESTURE_SCROLL_END:
|
| + case EVENT_TYPE_GESTURE_FLING_START:
|
| + case EVENT_TYPE_GESTURE_FLING_CANCEL:
|
| + return BuildWebGestureEvent(event, device_pixel_ratio);
|
| + case EVENT_TYPE_UNKNOWN:
|
| + NOTIMPLEMENTED() << "ConvertEvent received unexpected EVENT_TYPE_UNKNOWN";
|
| }
|
|
|
| return scoped_ptr<blink::WebInputEvent>();
|
|
|