diff --git a/examples/example-scrollable.sky b/examples/example-scrollable.sky new file mode 100644 index 00000000000..e57934d2f4b --- /dev/null +++ b/examples/example-scrollable.sky @@ -0,0 +1,42 @@ + + + + + + + + + + + + + diff --git a/framework/sky-scrollable.sky b/framework/sky-scrollable.sky new file mode 100644 index 00000000000..f950c8b470a --- /dev/null +++ b/framework/sky-scrollable.sky @@ -0,0 +1,101 @@ + + + + + + + diff --git a/viewer/converters/input_event_types.cc b/viewer/converters/input_event_types.cc index ae3d1bcd9e7..987cd122a22 100644 --- a/viewer/converters/input_event_types.cc +++ b/viewer/converters/input_event_types.cc @@ -101,13 +101,17 @@ scoped_ptr BuildWebGestureEvent( break; case mojo::EVENT_TYPE_GESTURE_SCROLL_UPDATE: web_event->type = blink::WebInputEvent::GestureScrollUpdate; - web_event->data.scrollUpdate.deltaX = event->gesture_data->scroll_x; - web_event->data.scrollUpdate.deltaY = event->gesture_data->scroll_y; + web_event->data.scrollUpdate.deltaX = + event->gesture_data->scroll_x / device_pixel_ratio; + web_event->data.scrollUpdate.deltaY = + event->gesture_data->scroll_y / device_pixel_ratio; break; case mojo::EVENT_TYPE_SCROLL_FLING_START: web_event->type = blink::WebInputEvent::GestureFlingStart; - web_event->data.flingStart.velocityX = event->gesture_data->velocity_x; - web_event->data.flingStart.velocityY = event->gesture_data->velocity_y; + web_event->data.flingStart.velocityX = + event->gesture_data->velocity_x / device_pixel_ratio; + web_event->data.flingStart.velocityY = + event->gesture_data->velocity_y / device_pixel_ratio; break; case mojo::EVENT_TYPE_SCROLL_FLING_CANCEL: web_event->type = blink::WebInputEvent::GestureFlingCancel; @@ -150,7 +154,8 @@ scoped_ptr BuildWebGestureEvent( break; case mojo::EVENT_TYPE_GESTURE_PINCH_UPDATE: web_event->type = blink::WebInputEvent::GesturePinchUpdate; - web_event->data.pinchUpdate.scale = event->gesture_data->scale; + web_event->data.pinchUpdate.scale = + event->gesture_data->scale / device_pixel_ratio; break; default: NOTIMPLEMENTED() << "Received unexpected event: " << event->action;