diff options
Diffstat (limited to 'WebCore')
-rw-r--r-- | WebCore/dom/Event.h | 4 | ||||
-rw-r--r-- | WebCore/page/EventHandler.cpp | 15 | ||||
-rw-r--r-- | WebCore/platform/PlatformTouchEvent.h | 6 | ||||
-rw-r--r-- | WebCore/platform/android/PlatformTouchEventAndroid.cpp | 4 | ||||
-rw-r--r-- | WebCore/plugins/android/PluginViewAndroid.cpp | 6 |
5 files changed, 29 insertions, 6 deletions
diff --git a/WebCore/dom/Event.h b/WebCore/dom/Event.h index 4624663..9b55bb8 100644 --- a/WebCore/dom/Event.h +++ b/WebCore/dom/Event.h @@ -153,6 +153,10 @@ namespace WebCore { bool createdByDOM() const { return m_createdByDOM; } void setCreatedByDOM(bool createdByDOM) { m_createdByDOM = createdByDOM; } +#if PLATFORM(ANDROID) + void setCreateTime(DOMTimeStamp time) { m_createTime = time; } +#endif + protected: Event(); Event(const AtomicString& type, bool canBubble, bool cancelable); diff --git a/WebCore/page/EventHandler.cpp b/WebCore/page/EventHandler.cpp index cb3bca6..bdcd6aa 100644 --- a/WebCore/page/EventHandler.cpp +++ b/WebCore/page/EventHandler.cpp @@ -2662,7 +2662,9 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) m_firstTouchPagePos.x(), m_firstTouchPagePos.y(), event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey()); - +#if PLATFORM(ANDROID) + cancelEv->setCreateTime(static_cast<DOMTimeStamp>(event.eventTime())); +#endif ExceptionCode ec = 0; m_touchEventTarget->dispatchEvent(cancelEv.get(), ec); defaultPrevented |= cancelEv->defaultPrevented(); @@ -2677,6 +2679,9 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) m_firstTouchPagePos.x(), m_firstTouchPagePos.y(), event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey()); +#if PLATFORM(ANDROID) + endEv->setCreateTime(static_cast<DOMTimeStamp>(event.eventTime())); +#endif ExceptionCode ec = 0; m_touchEventTarget->dispatchEvent(endEv.get(), ec); #if PLATFORM(ANDROID) @@ -2703,6 +2708,7 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) m_firstTouchPagePos.x(), m_firstTouchPagePos.y(), event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey()); + longpressEv->setCreateTime(static_cast<DOMTimeStamp>(event.eventTime())); ExceptionCode ec = 0; m_touchEventTarget->dispatchEvent(longpressEv.get(), ec); @@ -2716,6 +2722,7 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) m_firstTouchPagePos.x(), m_firstTouchPagePos.y(), event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey()); + doubleTapEv->setCreateTime(static_cast<DOMTimeStamp>(event.eventTime())); ExceptionCode ec = 0; m_touchEventTarget->dispatchEvent(doubleTapEv.get(), ec); @@ -2730,6 +2737,9 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) m_firstTouchPagePos.x(), m_firstTouchPagePos.y(), event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey()); +#if PLATFORM(ANDROID) + startEv->setCreateTime(static_cast<DOMTimeStamp>(event.eventTime())); +#endif ExceptionCode ec = 0; m_touchEventTarget->dispatchEvent(startEv.get(), ec); defaultPrevented |= startEv->defaultPrevented(); @@ -2749,6 +2759,9 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) m_firstTouchPagePos.x(), m_firstTouchPagePos.y(), event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey()); +#if PLATFORM(ANDROID) + moveEv->setCreateTime(static_cast<DOMTimeStamp>(event.eventTime())); +#endif ExceptionCode ec = 0; m_touchEventTarget->dispatchEvent(moveEv.get(), ec); defaultPrevented |= moveEv->defaultPrevented(); diff --git a/WebCore/platform/PlatformTouchEvent.h b/WebCore/platform/PlatformTouchEvent.h index 1f071ce..854db3c 100644 --- a/WebCore/platform/PlatformTouchEvent.h +++ b/WebCore/platform/PlatformTouchEvent.h @@ -60,7 +60,8 @@ public: #if PLATFORM(QT) PlatformTouchEvent(QTouchEvent*); #elif PLATFORM(ANDROID) - PlatformTouchEvent(const IntPoint& windowPos, TouchEventType, PlatformTouchPoint::State); + // TODO (benm): eventTime is new and needs to be upstream + PlatformTouchEvent(const IntPoint& windowPos, TouchEventType, PlatformTouchPoint::State, long eventTime); #endif TouchEventType type() const { return m_type; } @@ -71,6 +72,8 @@ public: bool shiftKey() const { return m_shiftKey; } bool metaKey() const { return m_metaKey; } + long eventTime() const { return m_eventTime; } + private: TouchEventType m_type; Vector<PlatformTouchPoint> m_touchPoints; @@ -78,6 +81,7 @@ private: bool m_altKey; bool m_shiftKey; bool m_metaKey; + long m_eventTime; }; } diff --git a/WebCore/platform/android/PlatformTouchEventAndroid.cpp b/WebCore/platform/android/PlatformTouchEventAndroid.cpp index 65d787d..d2fcebb 100644 --- a/WebCore/platform/android/PlatformTouchEventAndroid.cpp +++ b/WebCore/platform/android/PlatformTouchEventAndroid.cpp @@ -30,12 +30,14 @@ namespace WebCore { -PlatformTouchEvent::PlatformTouchEvent(const IntPoint& windowPos, TouchEventType type, PlatformTouchPoint::State state) +// TODO (benm): eventTime is new and needs to be upstream +PlatformTouchEvent::PlatformTouchEvent(const IntPoint& windowPos, TouchEventType type, PlatformTouchPoint::State state, long eventTime) : m_type(type) , m_ctrlKey(false) , m_altKey(false) , m_shiftKey(false) , m_metaKey(false) + , m_eventTime(eventTime) { m_touchPoints.append(PlatformTouchPoint(windowPos, state)); } diff --git a/WebCore/plugins/android/PluginViewAndroid.cpp b/WebCore/plugins/android/PluginViewAndroid.cpp index 88e7f0b..0abbc13 100644 --- a/WebCore/plugins/android/PluginViewAndroid.cpp +++ b/WebCore/plugins/android/PluginViewAndroid.cpp @@ -185,7 +185,7 @@ void PluginView::handleTouchEvent(TouchEvent* event) return; ANPEvent evt; - SkANP::InitEvent(&evt, kTouch_ANPEventType); + SkANP::InitEvent(&evt, kTouch_ANPEventType, event->timeStamp()); bool ignoreRet = false; const AtomicString& type = event->type(); @@ -247,7 +247,7 @@ void PluginView::handleMouseEvent(MouseEvent* event) ANPEvent evt; if (isUp || isDown) { - SkANP::InitEvent(&evt, kMouse_ANPEventType); + SkANP::InitEvent(&evt, kMouse_ANPEventType, event->timeStamp()); evt.data.mouse.action = isUp ? kUp_ANPMouseAction : kDown_ANPMouseAction; // Convert to coordinates that are relative to the plugin. @@ -309,7 +309,7 @@ void PluginView::handleKeyboardEvent(KeyboardEvent* event) bool ignoreEvent = false; ANPEvent evt; - SkANP::InitEvent(&evt, kKey_ANPEventType); + SkANP::InitEvent(&evt, kKey_ANPEventType, event->timeStamp()); switch (pke->type()) { case PlatformKeyboardEvent::KeyDown: |