diff options
Diffstat (limited to 'Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp')
-rw-r--r-- | Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp index 5aa77f5be..946ef7f6b 100644 --- a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp +++ b/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp @@ -187,6 +187,7 @@ bool TouchEventHandler::handleTouchPoint(Platform::TouchPoint& point, bool useFa // Enable input mode on any touch event. m_webPage->m_inputHandler->setInputModeEnabled(); bool pureWithMouseConversion = m_webPage->m_touchEventMode == PureTouchEventsWithMouseConversion; + bool alwaysEnableMouseConversion = pureWithMouseConversion || (!isMainFrameScrollable(m_webPage) && !m_webPage->m_inRegionScroller->d->isActive()); switch (point.m_state) { case Platform::TouchPoint::TouchPressed: @@ -208,7 +209,7 @@ bool TouchEventHandler::handleTouchPoint(Platform::TouchPoint& point, bool useFa // Set or reset the touch mode. Element* possibleTargetNodeForMouseMoveEvents = static_cast<Element*>(m_lastFatFingersResult.positionWasAdjusted() ? elementUnderFatFinger : m_lastFatFingersResult.node()); - m_convertTouchToMouse = pureWithMouseConversion ? true : shouldConvertTouchToMouse(possibleTargetNodeForMouseMoveEvents); + m_convertTouchToMouse = alwaysEnableMouseConversion ? true : shouldConvertTouchToMouse(possibleTargetNodeForMouseMoveEvents); if (!possibleTargetNodeForMouseMoveEvents || (!possibleTargetNodeForMouseMoveEvents->hasEventListeners(eventNames().touchmoveEvent) && !m_convertTouchToMouse)) m_webPage->client()->notifyNoMouseMoveOrTouchMoveHandlers(); @@ -274,9 +275,7 @@ bool TouchEventHandler::handleTouchPoint(Platform::TouchPoint& point, bool useFa PlatformMouseEvent mouseEvent(point.m_pos, m_lastScreenPoint, PlatformEvent::MouseMoved, 1, LeftButton, TouchScreen); m_lastScreenPoint = point.m_screenPos; if (!m_webPage->handleMouseEvent(mouseEvent)) { - // If the page is scrollable and the first event is not handled, ignore subsequent mouse moves. - if (isMainFrameScrollable(m_webPage) || m_webPage->m_inRegionScroller->d->isActive() ) - m_convertTouchToMouse = pureWithMouseConversion; + m_convertTouchToMouse = alwaysEnableMouseConversion; return false; } return true; |