diff -r a1a5d4e727e8 -r 800203832575 webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.cpp --- a/webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.cpp Wed Jun 09 10:52:50 2010 +0300 +++ b/webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.cpp Mon Jun 21 16:54:17 2010 +0300 @@ -111,10 +111,11 @@ TBrCtlDefs::TBrCtlElementType elType = m_webview->focusedElementType(); bool pluginConsumable = isPluginConsumable(uid); + PluginHandler* pluginHandler = StaticObjectsContainer::instance()->pluginHandler(); - if (pluginConsumable && m_webview->getVisiblePlugins().Count() > 0) { - for ( int i=0; i < m_webview->getVisiblePlugins().Count(); i++) { - PluginSkin* plugin = m_webview->getVisiblePlugins()[i]; + if (pluginConsumable && pluginHandler->getVisiblePlugins().Count() > 0) { + for ( int i=0; i < pluginHandler->getVisiblePlugins().Count(); i++) { + PluginSkin* plugin = pluginHandler->getVisiblePlugins()[i]; if (plugin && plugin->pluginWin() && plugin->pluginWin()->containsPoint(*m_webview,aGesture.CurrentPos())) { if (plugin->pluginWin()->HandleGesture(aGesture)) { if(!plugin->isActive()) { @@ -170,6 +171,7 @@ m_ignoreTap = false; handleTouchUp(aGesture); m_webview->resumeJsTimers(); // resume js timers + m_webview->setViewIsScrolling(false); break; } @@ -179,8 +181,6 @@ if(!m_webview->jsTimersPaused()) m_webview->pauseJsTimers(); - if(!m_webview->isScrolling()) - m_webview->setScrolling(true); handleMove(aGesture); break; } @@ -199,6 +199,9 @@ case stmGesture::EGestureUidPinch: { + if (m_webview->viewIsScrolling()) { + m_webview->pageScrollHandler()->stopScrolling(); + } if(!m_webview->inPageViewMode()) { handlePinchZoomL(aGesture); @@ -621,9 +624,11 @@ bool WebPointerEventHandler::isPluginConsumable(const TStmGestureUid uid) { // Gestures which a Plugin can consume - return (uid == stmGesture::EGestureUidRelease || - uid == stmGesture::EGestureUidTap || - uid == stmGesture::EGestureUidTouch || - uid == stmGesture::EGestureUidLongPress || - (uid == stmGesture::EGestureUidPan && m_webview->widgetExtension())); // Currently Pan is consumed in Widget mode + return ( uid == stmGesture::EGestureUidRelease || + uid == stmGesture::EGestureUidTap || + uid == stmGesture::EGestureUidTouch || + uid == stmGesture::EGestureUidLongPress || + (uid == stmGesture::EGestureUidPan && m_webview->widgetExtension()) || // Currently Pan is consumed in Widget mode + (uid == stmGesture::EGestureUidFlick && m_webview->widgetExtension()) + ); }