Continued porting the web browser. QtWebEngine

Sun, 13 Mar 2016 14:56:13 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 13 Mar 2016 14:56:13 +0100
branch
QtWebEngine
changeset 4857
8dba5fb92f12
parent 4856
15739e8eb6c5
child 4858
19dff9c9cf26

Continued porting the web browser.

- some modification to improve the Qt 5.6 handling

WebBrowser/Network/NetworkManager.py file | annotate | diff | comparison | revisions
WebBrowser/Network/NetworkUrlInterceptor.py file | annotate | diff | comparison | revisions
WebBrowser/PageScreenDialog.py file | annotate | diff | comparison | revisions
WebBrowser/WebBrowserView.py file | annotate | diff | comparison | revisions
diff -r 15739e8eb6c5 -r 8dba5fb92f12 WebBrowser/Network/NetworkManager.py
--- a/WebBrowser/Network/NetworkManager.py	Sun Mar 13 14:55:16 2016 +0100
+++ b/WebBrowser/Network/NetworkManager.py	Sun Mar 13 14:56:13 2016 +0100
@@ -25,8 +25,7 @@
     SSL_AVAILABLE = False
 
 from WebBrowser.WebBrowserWindow import WebBrowserWindow
-# TODO: Qt 5.6
-##from .NetworkUrlInterceptor import NetworkUrlInterceptor
+from .NetworkUrlInterceptor import NetworkUrlInterceptor
 
 from Utilities.AutoSaver import AutoSaver
 import Preferences
@@ -76,9 +75,8 @@
         
         # TODO: install network scheme handlers
         
-        # TODO: Qt 5.6
-##        self.__interceptor = NetworkUrlInterceptor(self)
-##        WebBrowserWindow.webProfile().setRequestInterceptor(self.__interceptor)
+        self.__interceptor = NetworkUrlInterceptor(self)
+        WebBrowserWindow.webProfile().setRequestInterceptor(self.__interceptor)
         
         WebBrowserWindow.cookieJar()
     
diff -r 15739e8eb6c5 -r 8dba5fb92f12 WebBrowser/Network/NetworkUrlInterceptor.py
--- a/WebBrowser/Network/NetworkUrlInterceptor.py	Sun Mar 13 14:55:16 2016 +0100
+++ b/WebBrowser/Network/NetworkUrlInterceptor.py	Sun Mar 13 14:56:13 2016 +0100
@@ -41,12 +41,11 @@
         """
         # Do Not Track feature
         if self.__doNotTrack:
-             info.setHttpHeader(b"DNT", b"1")
-             info.setHttpHeader(b"X-Do-Not-Track", b"1")
+            info.setHttpHeader(b"DNT", b"1")
+            info.setHttpHeader(b"X-Do-Not-Track", b"1")
         
         # Send referer header?
-        if not self.__sendReferer and \
-           info.requestUrl().host() not in \
+        if not self.__sendReferer and info.requestUrl().host() not in \
                 Preferences.getWebBrowser("SendRefererWhitelist"):
             info.setHttpHeader(b"Referer", b"")
         
diff -r 15739e8eb6c5 -r 8dba5fb92f12 WebBrowser/PageScreenDialog.py
--- a/WebBrowser/PageScreenDialog.py	Sun Mar 13 14:55:16 2016 +0100
+++ b/WebBrowser/PageScreenDialog.py	Sun Mar 13 14:56:13 2016 +0100
@@ -58,21 +58,22 @@
             "return res;"
             "})()"
         )
-        if visibleOnly:
-            image = QImage(QSize(res["width"], self.__view.height()),
-                           QImage.Format_ARGB32)
-            painter = QPainter(image)
-            self.__view.render(painter)
-            painter.end()
-        else:
-            # TODO: once QWebEngineView supports this
-            image = QImage(QSize(res["width"], self.__view.height()),
-                           QImage.Format_ARGB32)
-            painter = QPainter(image)
-            self.__view.render(painter)
-            painter.end()
-        
-        self.__pagePixmap = QPixmap.fromImage(image)
+        if res is not None:
+            if visibleOnly:
+                image = QImage(QSize(res["width"], self.__view.height()),
+                               QImage.Format_ARGB32)
+                painter = QPainter(image)
+                self.__view.render(painter)
+                painter.end()
+            else:
+                # TODO: once QWebEngineView supports this
+                image = QImage(QSize(res["width"], self.__view.height()),
+                               QImage.Format_ARGB32)
+                painter = QPainter(image)
+                self.__view.render(painter)
+                painter.end()
+            
+            self.__pagePixmap = QPixmap.fromImage(image)
     
     def __savePageScreen(self):
         """
diff -r 15739e8eb6c5 -r 8dba5fb92f12 WebBrowser/WebBrowserView.py
--- a/WebBrowser/WebBrowserView.py	Sun Mar 13 14:55:16 2016 +0100
+++ b/WebBrowser/WebBrowserView.py	Sun Mar 13 14:56:13 2016 +0100
@@ -1949,9 +1949,10 @@
         script = Scripts.getFeedLinks()
         feeds = self.page().execJavaScript(script)
         
-        for feed in feeds:
-            if feed["url"] and feed["title"]:
-                self.__rss.append((feed["title"], feed["url"]))
+        if feeds is not None:
+            for feed in feeds:
+                if feed["url"] and feed["title"]:
+                    self.__rss.append((feed["title"], feed["url"]))
         
         return len(self.__rss) > 0
     

eric ide

mercurial