diff options
Diffstat (limited to 'Source/WebKit2/Shared/WebMouseEvent.cpp')
-rw-r--r-- | Source/WebKit2/Shared/WebMouseEvent.cpp | 40 |
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 |