summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium/src/WebInputEventConversion.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium/src/WebInputEventConversion.cpp')
-rw-r--r--WebKit/chromium/src/WebInputEventConversion.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/WebKit/chromium/src/WebInputEventConversion.cpp b/WebKit/chromium/src/WebInputEventConversion.cpp
index f68e3ab..1c6d59c 100644
--- a/WebKit/chromium/src/WebInputEventConversion.cpp
+++ b/WebKit/chromium/src/WebInputEventConversion.cpp
@@ -241,7 +241,7 @@ static int getWebInputModifiers(const UIEventWithKeyState& event)
return modifiers;
}
-WebMouseEventBuilder::WebMouseEventBuilder(const ScrollView* view, const MouseEvent& event)
+WebMouseEventBuilder::WebMouseEventBuilder(const Widget* widget, const MouseEvent& event)
{
if (event.type() == eventNames().mousemoveEvent)
type = WebInputEvent::MouseMove;
@@ -253,6 +253,8 @@ WebMouseEventBuilder::WebMouseEventBuilder(const ScrollView* view, const MouseEv
type = WebInputEvent::MouseDown;
else if (event.type() == eventNames().mouseupEvent)
type = WebInputEvent::MouseUp;
+ else if (event.type() == eventNames().contextmenuEvent)
+ type = WebInputEvent::ContextMenu;
else
return; // Skip all other mouse events.
timeStampSeconds = event.timeStamp() * 1.0e-3;
@@ -281,30 +283,34 @@ WebMouseEventBuilder::WebMouseEventBuilder(const ScrollView* view, const MouseEv
break;
}
}
- IntPoint p = view->contentsToWindow(IntPoint(event.pageX(), event.pageY()));
+ ScrollView* view = widget->parent();
+ IntPoint p = view->contentsToWindow(
+ IntPoint(event.absoluteLocation().x(), event.absoluteLocation().y()));
globalX = event.screenX();
globalY = event.screenY();
windowX = p.x();
windowY = p.y();
- x = event.offsetX();
- y = event.offsetY();
+ x = event.absoluteLocation().x() - widget->pos().x();
+ y = event.absoluteLocation().y() - widget->pos().y();
clickCount = event.detail();
}
-WebMouseWheelEventBuilder::WebMouseWheelEventBuilder(const ScrollView* view, const WheelEvent& event)
+WebMouseWheelEventBuilder::WebMouseWheelEventBuilder(const Widget* widget, const WheelEvent& event)
{
if (event.type() != eventNames().mousewheelEvent)
return;
type = WebInputEvent::MouseWheel;
timeStampSeconds = event.timeStamp() * 1.0e-3;
modifiers = getWebInputModifiers(event);
- IntPoint p = view->contentsToWindow(IntPoint(event.pageX(), event.pageY()));
+ ScrollView* view = widget->parent();
+ IntPoint p = view->contentsToWindow(
+ IntPoint(event.absoluteLocation().x(), event.absoluteLocation().y()));
globalX = event.screenX();
globalY = event.screenY();
windowX = p.x();
windowY = p.y();
- x = event.offsetX();
- y = event.offsetY();
+ x = event.absoluteLocation().x() - widget->pos().x();
+ y = event.absoluteLocation().y() - widget->pos().y();
deltaX = static_cast<float>(event.rawDeltaX());
deltaY = static_cast<float>(event.rawDeltaY());
// The 120 is from WheelEvent::initWheelEvent().