Sun, 13 Mar 2016 14:56:13 +0100
Continued porting the web browser.
- some modification to improve the Qt 5.6 handling
--- 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()
--- 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"")
--- 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): """
--- 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