diff options
author | Ben Murdoch <benm@google.com> | 2011-06-02 12:07:03 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-06-10 10:47:21 +0100 |
commit | 2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 (patch) | |
tree | e4964fbd1cb70599f7718ff03e50ea1dab33890b /Source/WebCore/dom/WheelEvent.cpp | |
parent | 87bdf0060a247bfbe668342b87e0874182e0ffa9 (diff) | |
download | external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.zip external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.gz external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.bz2 |
Merge WebKit at r84325: Initial merge by git.
Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b
Diffstat (limited to 'Source/WebCore/dom/WheelEvent.cpp')
-rw-r--r-- | Source/WebCore/dom/WheelEvent.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Source/WebCore/dom/WheelEvent.cpp b/Source/WebCore/dom/WheelEvent.cpp index 0981a57..a673c93 100644 --- a/Source/WebCore/dom/WheelEvent.cpp +++ b/Source/WebCore/dom/WheelEvent.cpp @@ -23,7 +23,10 @@ #include "config.h" #include "WheelEvent.h" +#include "EventDispatcher.h" #include "EventNames.h" +#include "PlatformWheelEvent.h" + #include <wtf/MathExtras.h> namespace WebCore { @@ -92,4 +95,32 @@ bool WheelEvent::isWheelEvent() const return true; } +inline static WheelEvent::Granularity granularity(const PlatformWheelEvent& event) +{ + return event.granularity() == ScrollByPageWheelEvent ? WheelEvent::Page : WheelEvent::Pixel; +} + +WheelEventDispatchMediator::WheelEventDispatchMediator(const PlatformWheelEvent& event, PassRefPtr<AbstractView> view) +{ + if (!(event.deltaX() || event.deltaY())) + return; + + setEvent(WheelEvent::create(event.wheelTicksX(), event.wheelTicksY(), event.deltaX(), event.deltaY(), granularity(event), + view, event.globalX(), event.globalY(), event.x(), event.y(), event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey())); + +} + +WheelEvent* WheelEventDispatchMediator::event() const +{ + return static_cast<WheelEvent*>(EventDispatchMediator::event()); +} + +bool WheelEventDispatchMediator::dispatchEvent(EventDispatcher* dispatcher) const +{ + if (!event()) + return true; + + return EventDispatchMediator::dispatchEvent(dispatcher) && !event()->defaultHandled(); +} + } // namespace WebCore |