summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webinputevent_linux.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/webinputevent_linux.cc')
-rw-r--r--webkit/glue/webinputevent_linux.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/webkit/glue/webinputevent_linux.cc b/webkit/glue/webinputevent_linux.cc
index 6ef85aa..12fb179 100644
--- a/webkit/glue/webinputevent_linux.cc
+++ b/webkit/glue/webinputevent_linux.cc
@@ -103,6 +103,9 @@ WebMouseEvent::WebMouseEvent(const GdkEventMotion* event) {
}
WebMouseWheelEvent::WebMouseWheelEvent(const GdkEventScroll* event) {
+ type = MOUSE_WHEEL;
+ button = BUTTON_NONE;
+
timestamp_sec = GdkEventTimeToWebEventTime(event->time);
modifiers = GdkStateToWebEventModifiers(event->state);
x = static_cast<int>(event->x);
@@ -110,8 +113,6 @@ WebMouseWheelEvent::WebMouseWheelEvent(const GdkEventScroll* event) {
global_x = static_cast<int>(event->x_root);
global_y = static_cast<int>(event->y_root);
- type = MOUSE_WHEEL;
-
// How much should we scroll per mouse wheel event?
// - Windows uses 3 lines by default and obeys a system setting.
// - Mozilla has a pref that lets you either use the "system" number of lines
@@ -122,11 +123,10 @@ WebMouseWheelEvent::WebMouseWheelEvent(const GdkEventScroll* event) {
// - Gtk makes the scroll amount a function of the size of the scroll bar,
// which is not available to us here.
// Instead, we pick a number that empirically matches Firefox's behavior.
- static const int kWheelDelta = 4;
+ static const float kWheelDelta = 4;
delta_x = 0;
delta_y = 0;
-
switch (event->direction) {
case GDK_SCROLL_UP:
delta_y = kWheelDelta;
@@ -135,14 +135,15 @@ WebMouseWheelEvent::WebMouseWheelEvent(const GdkEventScroll* event) {
delta_y = -kWheelDelta;
break;
case GDK_SCROLL_LEFT:
- delta_x = -kWheelDelta;
+ delta_x = kWheelDelta;
break;
case GDK_SCROLL_RIGHT:
- delta_x = kWheelDelta;
+ delta_x = -kWheelDelta;
break;
default:
break;
}
+ scroll_by_page = false;
}
WebKeyboardEvent::WebKeyboardEvent(const GdkEventKey* event) {