--- 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))