WebBrowser/WebBrowserPage.py

branch
maintenance
changeset 6273
0daf79d65080
parent 6268
eb6e49388114
child 6397
473d410076e9
diff -r 0a74c1efab70 -r 0daf79d65080 WebBrowser/WebBrowserPage.py
--- 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)

eric ide

mercurial