diff options
Diffstat (limited to 'Source/WebCore/dom/WheelEvent.cpp')
-rw-r--r-- | Source/WebCore/dom/WheelEvent.cpp | 69 |
1 files changed, 21 insertions, 48 deletions
diff --git a/Source/WebCore/dom/WheelEvent.cpp b/Source/WebCore/dom/WheelEvent.cpp index ee672cbb2..530e6b011 100644 --- a/Source/WebCore/dom/WheelEvent.cpp +++ b/Source/WebCore/dom/WheelEvent.cpp @@ -24,35 +24,23 @@ #include "config.h" #include "WheelEvent.h" -#include "Clipboard.h" +#include "DataTransfer.h" #include "EventNames.h" -#include "PlatformWheelEvent.h" - #include <wtf/MathExtras.h> namespace WebCore { -WheelEventInit::WheelEventInit() - : deltaX(0) - , deltaY(0) - , deltaZ(0) - , deltaMode(WheelEvent::DOM_DELTA_PIXEL) - , wheelDeltaX(0) - , wheelDeltaY(0) +inline static unsigned determineDeltaMode(const PlatformWheelEvent& event) { + return event.granularity() == ScrollByPageWheelEvent ? WheelEvent::DOM_DELTA_PAGE : WheelEvent::DOM_DELTA_PIXEL; } WheelEvent::WheelEvent() - : m_deltaX(0) - , m_deltaY(0) - , m_deltaZ(0) - , m_deltaMode(DOM_DELTA_PIXEL) - , m_directionInvertedFromDevice(false) { } -WheelEvent::WheelEvent(const AtomicString& type, const WheelEventInit& initializer) - : MouseEvent(type, initializer) +WheelEvent::WheelEvent(const AtomicString& type, const Init& initializer, IsTrusted isTrusted) + : MouseEvent(type, initializer, isTrusted) , m_wheelDelta(initializer.wheelDeltaX ? initializer.wheelDeltaX : -initializer.deltaX, initializer.wheelDeltaY ? initializer.wheelDeltaY : -initializer.deltaY) , m_deltaX(initializer.deltaX ? initializer.deltaX : -initializer.wheelDeltaX) , m_deltaY(initializer.deltaY ? initializer.deltaY : -initializer.wheelDeltaY) @@ -61,57 +49,42 @@ WheelEvent::WheelEvent(const AtomicString& type, const WheelEventInit& initializ { } -WheelEvent::WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta, unsigned deltaMode, - PassRefPtr<AbstractView> view, const IntPoint& screenLocation, const IntPoint& pageLocation, - bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool directionInvertedFromDevice, double timestamp) - : MouseEvent(eventNames().wheelEvent, - true, true, timestamp, view, 0, screenLocation.x(), screenLocation.y(), - pageLocation.x(), pageLocation.y(), +WheelEvent::WheelEvent(const PlatformWheelEvent& event, DOMWindow* view) + : MouseEvent(eventNames().wheelEvent, true, true, event.timestamp(), view, 0, event.globalPosition(), event.position() #if ENABLE(POINTER_LOCK) - 0, 0, + , { } #endif - ctrlKey, altKey, shiftKey, metaKey, 0, 0, 0, false) - , m_wheelDelta(wheelTicks.x() * TickMultiplier, wheelTicks.y() * TickMultiplier) - , m_deltaX(-rawDelta.x()) - , m_deltaY(-rawDelta.y()) - , m_deltaZ(0) - , m_deltaMode(deltaMode) - , m_directionInvertedFromDevice(directionInvertedFromDevice) + , event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey(), 0, 0, 0, 0, 0, false) + , m_wheelDelta(event.wheelTicksX() * TickMultiplier, event.wheelTicksY() * TickMultiplier) + , m_deltaX(-event.deltaX()) + , m_deltaY(-event.deltaY()) + , m_deltaMode(determineDeltaMode(event)) + , m_wheelEvent(event) + , m_initializedWithPlatformWheelEvent(true) { } -void WheelEvent::initWheelEvent(int rawDeltaX, int rawDeltaY, PassRefPtr<AbstractView> view, - int screenX, int screenY, int pageX, int pageY, - bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) +void WheelEvent::initWheelEvent(int rawDeltaX, int rawDeltaY, DOMWindow* view, int screenX, int screenY, int pageX, int pageY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) { if (dispatched()) return; initUIEvent(eventNames().wheelEvent, true, true, view, 0); - m_screenLocation = IntPoint(screenX, screenY); + m_screenLocation = { screenX, screenY }; m_ctrlKey = ctrlKey; m_altKey = altKey; m_shiftKey = shiftKey; m_metaKey = metaKey; // Normalize to 120 multiple for compatibility with IE. - m_wheelDelta = IntPoint(rawDeltaX * TickMultiplier, rawDeltaY * TickMultiplier); + m_wheelDelta = { rawDeltaX * TickMultiplier, rawDeltaY * TickMultiplier }; m_deltaX = -rawDeltaX; m_deltaY = -rawDeltaY; m_deltaMode = DOM_DELTA_PIXEL; - m_directionInvertedFromDevice = false; - - initCoordinates(IntPoint(pageX, pageY)); -} -void WheelEvent::initWebKitWheelEvent(int rawDeltaX, int rawDeltaY, PassRefPtr<AbstractView> view, - int screenX, int screenY, int pageX, int pageY, - bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) -{ - initWheelEvent(rawDeltaX, rawDeltaY, view, screenX, screenY, pageX, pageY, - ctrlKey, altKey, shiftKey, metaKey); + initCoordinates({ pageX, pageY }); } EventInterface WheelEvent::eventInterface() const @@ -119,9 +92,9 @@ EventInterface WheelEvent::eventInterface() const return WheelEventInterfaceType; } -bool WheelEvent::isMouseEvent() const +bool WheelEvent::isWheelEvent() const { - return false; + return true; } } // namespace WebCore |