Chromium Code Reviews| Index: components/html_viewer/blink_input_events_type_converters.cc |
| diff --git a/components/html_viewer/blink_input_events_type_converters.cc b/components/html_viewer/blink_input_events_type_converters.cc |
| index 0e8b1d67fbf74861e3b229ed23447b59591195d4..28c9c4b07c8b6e548edea9a20f6aee2f7a6d8b29 100644 |
| --- a/components/html_viewer/blink_input_events_type_converters.cc |
| +++ b/components/html_viewer/blink_input_events_type_converters.cc |
| @@ -147,19 +147,39 @@ scoped_ptr<blink::WebInputEvent> BuildWebMouseWheelEventFrom( |
| SetWebMouseEventLocation(*(event->pointer_data), web_event.get()); |
| - if ((event->flags & mojo::EVENT_FLAGS_SHIFT_DOWN) != 0 && |
| - event->pointer_data->horizontal_wheel == 0) { |
| - web_event->deltaX = event->pointer_data->horizontal_wheel; |
| - web_event->deltaY = 0; |
| - } else { |
| - web_event->deltaX = event->pointer_data->horizontal_wheel; |
| - web_event->deltaY = event->pointer_data->vertical_wheel; |
| - } |
| + web_event->deltaX = event->pointer_data->wheel_data->delta_x; |
| + web_event->deltaY = event->pointer_data->wheel_data->delta_y; |
| + // TODO(rjkroege): Add wheel event support when blink does. |
|
sadrul
2015/09/09 04:19:04
not sure what the TODO here means ... blink alread
rjkroege
2015/09/09 19:45:38
Per rbyers: it supports the legacy non-standard wh
|
| - // TODO(sky): resole this, doesn't work for desktop. |
| web_event->wheelTicksX = web_event->deltaX / kPixelsPerTick; |
| web_event->wheelTicksY = web_event->deltaY / kPixelsPerTick; |
| + // TODO(rjkroege): Mandoline currently only generates WHEEL_MODE_LINE |
| + // wheel events so the other modes are not yet tested. Verify that |
| + // the implementation is correct. |
| + switch (event->pointer_data->wheel_data->mode) { |
| + case mojo::WHEEL_MODE_PIXEL: |
| + web_event->hasPreciseScrollingDeltas = true; |
| + web_event->scrollByPage = false; |
| + web_event->canScroll = true; |
| + break; |
| + case mojo::WHEEL_MODE_LINE: |
| + web_event->hasPreciseScrollingDeltas = false; |
| + web_event->scrollByPage = false; |
| + web_event->canScroll = true; |
| + break; |
| + case mojo::WHEEL_MODE_PAGE: |
| + web_event->hasPreciseScrollingDeltas = false; |
| + web_event->scrollByPage = true; |
| + web_event->canScroll = true; |
| + break; |
| + case mojo::WHEEL_MODE_SCALING: |
| + web_event->hasPreciseScrollingDeltas = false; |
| + web_event->scrollByPage = false; |
| + web_event->canScroll = false; |
| + break; |
| + } |
| + |
| return web_event.Pass(); |
| } |
| @@ -173,8 +193,7 @@ TypeConverter<scoped_ptr<blink::WebInputEvent>, EventPtr>::Convert( |
| event->action == mojo::EVENT_TYPE_POINTER_UP || |
| event->action == mojo::EVENT_TYPE_POINTER_CANCEL || |
| event->action == mojo::EVENT_TYPE_POINTER_MOVE) { |
| - if (event->pointer_data->horizontal_wheel != 0 || |
| - event->pointer_data->vertical_wheel != 0) { |
| + if (event->pointer_data->kind == mojo::POINTER_KIND_WHEEL) { |
| return BuildWebMouseWheelEventFrom(event); |
| } |
| if (event->pointer_data->kind == mojo::POINTER_KIND_MOUSE) |