Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Unified Diff: components/html_viewer/blink_input_events_type_converters.cc

Issue 1313353010: Overhaul Mandoline event transport code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | components/html_viewer/touch_handler.cc » ('j') | components/html_viewer/touch_handler.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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)
« no previous file with comments | « no previous file | components/html_viewer/touch_handler.cc » ('j') | components/html_viewer/touch_handler.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698