summaryrefslogtreecommitdiff
path: root/Source/WebKit2/Shared/WebMouseEvent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/Shared/WebMouseEvent.cpp')
-rw-r--r--Source/WebKit2/Shared/WebMouseEvent.cpp40
1 files changed, 35 insertions, 5 deletions
diff --git a/Source/WebKit2/Shared/WebMouseEvent.cpp b/Source/WebKit2/Shared/WebMouseEvent.cpp
index 2d400a4c0..8da8d3fe8 100644
--- a/Source/WebKit2/Shared/WebMouseEvent.cpp
+++ b/Source/WebKit2/Shared/WebMouseEvent.cpp
@@ -26,7 +26,6 @@
#include "config.h"
#include "WebEvent.h"
-#include "Arguments.h"
#include "WebCoreArgumentCoders.h"
using namespace WebCore;
@@ -40,10 +39,18 @@ WebMouseEvent::WebMouseEvent()
, m_deltaY(0)
, m_deltaZ(0)
, m_clickCount(0)
+#if PLATFORM(MAC)
+ , m_eventNumber(-1)
+ , m_menuTypeForEvent(0)
+#endif
{
}
-WebMouseEvent::WebMouseEvent(Type type, Button button, const IntPoint& position, const IntPoint& globalPosition, float deltaX, float deltaY, float deltaZ, int clickCount, Modifiers modifiers, double timestamp)
+#if PLATFORM(MAC)
+WebMouseEvent::WebMouseEvent(Type type, Button button, const IntPoint& position, const IntPoint& globalPosition, float deltaX, float deltaY, float deltaZ, int clickCount, Modifiers modifiers, double timestamp, double force, SyntheticClickType syntheticClickType, int eventNumber, int menuType)
+#else
+WebMouseEvent::WebMouseEvent(Type type, Button button, const IntPoint& position, const IntPoint& globalPosition, float deltaX, float deltaY, float deltaZ, int clickCount, Modifiers modifiers, double timestamp, double force, SyntheticClickType syntheticClickType)
+#endif
: WebEvent(type, modifiers, timestamp)
, m_button(button)
, m_position(position)
@@ -52,11 +59,17 @@ WebMouseEvent::WebMouseEvent(Type type, Button button, const IntPoint& position,
, m_deltaY(deltaY)
, m_deltaZ(deltaZ)
, m_clickCount(clickCount)
+#if PLATFORM(MAC)
+ , m_eventNumber(eventNumber)
+ , m_menuTypeForEvent(menuType)
+#endif
+ , m_force(force)
+ , m_syntheticClickType(syntheticClickType)
{
ASSERT(isMouseEventType(type));
}
-void WebMouseEvent::encode(IPC::ArgumentEncoder& encoder) const
+void WebMouseEvent::encode(IPC::Encoder& encoder) const
{
WebEvent::encode(encoder);
@@ -67,9 +80,15 @@ void WebMouseEvent::encode(IPC::ArgumentEncoder& encoder) const
encoder << m_deltaY;
encoder << m_deltaZ;
encoder << m_clickCount;
+#if PLATFORM(MAC)
+ encoder << m_eventNumber;
+ encoder << m_menuTypeForEvent;
+#endif
+ encoder << m_force;
+ encoder << m_syntheticClickType;
}
-bool WebMouseEvent::decode(IPC::ArgumentDecoder& decoder, WebMouseEvent& result)
+bool WebMouseEvent::decode(IPC::Decoder& decoder, WebMouseEvent& result)
{
if (!WebEvent::decode(decoder, result))
return false;
@@ -88,13 +107,24 @@ bool WebMouseEvent::decode(IPC::ArgumentDecoder& decoder, WebMouseEvent& result)
return false;
if (!decoder.decode(result.m_clickCount))
return false;
+#if PLATFORM(MAC)
+ if (!decoder.decode(result.m_eventNumber))
+ return false;
+ if (!decoder.decode(result.m_menuTypeForEvent))
+ return false;
+#endif
+ if (!decoder.decode(result.m_force))
+ return false;
+
+ if (!decoder.decode(result.m_syntheticClickType))
+ return false;
return true;
}
bool WebMouseEvent::isMouseEventType(Type type)
{
- return type == MouseDown || type == MouseUp || type == MouseMove;
+ return type == MouseDown || type == MouseUp || type == MouseMove || type == MouseForceUp || type == MouseForceDown || type == MouseForceChanged;
}
} // namespace WebKit