--- a/WebBrowser/WebBrowserPage.py Mon Apr 02 12:04:56 2018 +0200 +++ b/WebBrowser/WebBrowserPage.py Tue May 01 12:03:52 2018 +0200 @@ -86,6 +86,11 @@ self.__printer = None self.__badSite = False + if qVersionTuple() >= (5, 10, 0): + # Workaround for broken load started/finished signals in + # QtWebEngine 5.10, 5.11 + self.loadProgress.connect(self.__loadProgress) + # Workaround for changing webchannel world inside # acceptNavigationRequest not working self.__channelUrl = QUrl() @@ -95,6 +100,17 @@ self.__setupChannelTimer.setInterval(100) self.__setupChannelTimer.timeout.connect(self.__setupChannelTimeout) + @pyqtSlot(int) + def __loadProgress(self, progress): + """ + Private slot to send the loadFinished signal for broken Qt versions. + + @param progress load progress in percent + @type int + """ + if progress == 100: + self.loadFinished.emit(True) + @pyqtSlot() def __setupChannelTimeout(self): """ @@ -149,7 +165,8 @@ if SafeBrowsingManager.isEnabled() and \ url.scheme() not in \ SafeBrowsingManager.getIgnoreSchemes(): - threatLists = WebBrowserWindow.safeBrowsingManager().lookupUrl(url) + threatLists = \ + WebBrowserWindow.safeBrowsingManager().lookupUrl(url)[0] if threatLists: threatMessages = WebBrowserWindow.safeBrowsingManager()\ .getThreatMessages(threatLists)