WebBrowser/WebBrowserView.py

changeset 4925
6534062014dc
parent 4924
040e36a60b1b
child 4954
36e92a908f3f
diff -r 040e36a60b1b -r 6534062014dc WebBrowser/WebBrowserView.py
--- a/WebBrowser/WebBrowserView.py	Mon Apr 04 18:08:37 2016 +0200
+++ b/WebBrowser/WebBrowserView.py	Sat Apr 09 11:05:39 2016 +0200
@@ -393,6 +393,17 @@
         index = self.__levelForZoom(WebBrowserView.ZoomLevelDefault)
         self.setZoomValue(self.__zoomLevels[index])
     
+    def mapToViewport(self, pos):
+        """
+        Public method to map a position to the viewport.
+        
+        @param pos position to be mapped
+        @type QPoint
+        @return viewport position
+        @rtype QPoint
+        """
+        return self.page().mapToViewport(pos)
+    
     def hasSelection(self):
         """
         Public method to determine, if there is some text selected.
@@ -609,8 +620,6 @@
         @param hitTest reference to the hit test object
         @type WebHitTestResult
         """
-        self.__clickedPos = hitTest.pos()
-        
         if not menu.isEmpty():
             menu.addSeparator()
         
@@ -814,10 +823,10 @@
         @param pos position to be tested
         @type QPoint
         """
-        self.__clickedPos = pos
+        self.__clickedPos = self.mapToViewport(pos)
         
         from .Tools import Scripts
-        script = Scripts.getFormData(pos)
+        script = Scripts.getFormData(self.__clickedPos)
         self.page().runJavaScript(
             script, lambda res: self.__checkForFormCallback(res, act))
     

eric ide

mercurial