webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.cpp
branchRCL_3
changeset 35 1f3c3f2f5b0a
parent 34 220a17280356
child 36 c711bdda59f4
--- a/webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.cpp	Fri Mar 12 15:48:51 2010 +0200
+++ b/webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.cpp	Mon Mar 15 12:44:50 2010 +0200
@@ -357,6 +357,7 @@
         WebScrollingDeceleratorGH* scrollDecelGH = m_webview->pageScrollHandler()->ScrollingDeceleratorGH();
         if(scrollDecelGH) {
             scrollDecelGH->cancelDecel();
+            m_webview->setViewIsScrolling(false);
         }
     }
     
@@ -415,8 +416,8 @@
     Element* eventNode = frm->document()->elementFromPoint(pt.iX, pt.iY);
 
     if (m_isHighlighted){
-               dehighlight();
-           }
+        dehighlight(pos);
+    }
 
     m_highlightedNode = NULL;
 
@@ -537,15 +538,14 @@
 //-----------------------------------------------------------------------------
 // WebPointerEventHandler::deHighlight
 //-----------------------------------------------------------------------------
-void  WebPointerEventHandler::dehighlight()
+void  WebPointerEventHandler::dehighlight(const TPoint &aPoint)
 {
-    // send dehighlight event to engine by passing -1, -1
-    // sending any other pointer value may result in highligh of other links
+    // m_highlightPos should be (-1, -1). 
     m_highlightPos = TPoint(-1, -1);
     m_isHighlighted = EFalse;
 
     Frame* frm = m_webview->page()->focusController()->focusedOrMainFrame();
-    m_webview->sendMouseEventToEngine(TPointerEvent::EMove, m_highlightPos, frm);
+    m_webview->sendMouseEventToEngine(TPointerEvent::EMove, aPoint, frm);
 
 
     m_highlightedNode = NULL;
@@ -598,6 +598,10 @@
     Frame* coreFrame = core(m_webview->mainFrame());
     TPointerEvent event;
 
+    if (!IS_NAVIGATION_NONE) {
+        m_webview->page()->chrome()->client()->setElementVisibilityChanged(false);
+    }
+    
     TBrCtlDefs::TBrCtlElementType elType = highlitableElement();
 
     if (!isHighlitableElement(elType)) {
@@ -619,7 +623,6 @@
     }
 
     if (!IS_NAVIGATION_NONE) {
-        m_webview->page()->chrome()->client()->setElementVisibilityChanged(false);
         //to initiate hover
         if (m_isHighlighted) {
             setFocusRing();