WebBrowser/WebBrowserPage.py

branch
QtWebEngine
changeset 4905
09f38f85a3af
parent 4886
b56735d36159
child 4906
939ff20f712d
--- a/WebBrowser/WebBrowserPage.py	Mon Mar 28 16:34:22 2016 +0200
+++ b/WebBrowser/WebBrowserPage.py	Mon Mar 28 17:04:18 2016 +0200
@@ -40,12 +40,12 @@
 import Preferences
 import UI.PixmapCache
 import Globals
-
-try:
-    from PyQt5.QtNetwork import QSslCertificate
-    SSL_AVAILABLE = True
-except ImportError:
-    SSL_AVAILABLE = False
+##
+##try:
+##    from PyQt5.QtNetwork import QSslCertificate
+##    SSL_AVAILABLE = True
+##except ImportError:
+##    SSL_AVAILABLE = False
 
 
 class WebBrowserPage(QWebEnginePage):
@@ -77,8 +77,8 @@
 ##        self.__proxy.setPrimaryNetworkAccessManager(
 ##            WebBrowserWindow.networkManager())
 ##        self.setNetworkAccessManager(self.__proxy)
-        
-        self.__sslConfiguration = None
+##        
+##        self.__sslConfiguration = None
 ##        self.__proxy.finished.connect(self.__managerFinished)
 ##        
 ##        self.__adBlockedEntries = []
@@ -389,122 +389,32 @@
 ##                agent = QWebPage.userAgentForUrl(self, url)
 ##        return agent
 ##    
-    # TODO: SSL
-##    def __managerFinished(self, reply):
-##        """
-##        Private slot to handle a finished reply.
-##        
-##        This slot is used to get SSL related information for a reply.
-##        
-##        @param reply reference to the finished reply (QNetworkReply)
+##    def hasValidSslInfo(self):
 ##        """
-##        try:
-##            frame = reply.request().originatingObject()
-##        except AttributeError:
-##            frame = None
-##        
-##        mainFrameRequest = frame == self.mainFrame()
-##        
-##        if mainFrameRequest and \
-##           self.__sslConfiguration is not None and \
-##           reply.url() == self.mainFrame().url():
-##            self.__sslConfiguration = None
+##        Public method to check, if the page has a valid SSL certificate.
 ##        
-##        if reply.error() == QNetworkReply.NoError and \
-##           mainFrameRequest and \
-##           self.__sslConfiguration is None and \
-##           reply.url().scheme().lower() == "https" and \
-##           reply.url() == self.mainFrame().url():
-##            self.__sslConfiguration = reply.sslConfiguration()
-##            self.__sslConfiguration.url = QUrl(reply.url())
-##        
-##        if reply.error() == QNetworkReply.NoError and \
-##           mainFrameRequest and \
-##           reply.url() == self.mainFrame().url():
-##            modified = reply.header(QNetworkRequest.LastModifiedHeader)
-##            if modified and modified.isValid():
-##                manager = WebBrowserWindow.bookmarksManager()
-##                from .Bookmarks.BookmarkNode import BookmarkNode
-##                for bookmark in manager.bookmarksForUrl(reply.url()):
-##                    manager.setTimestamp(bookmark, BookmarkNode.TsModified,
-##                                         modified)
-    
-##    def getSslCertificate(self):
-##        """
-##        Public method to get a reference to the SSL certificate.
-##        
-##        @return amended SSL certificate (QSslCertificate)
+##        @return flag indicating a valid SSL certificate (boolean)
 ##        """
 ##        if self.__sslConfiguration is None:
-##            return None
-##        
-##        sslInfo = self.__sslConfiguration.peerCertificate()
-##        sslInfo.url = QUrl(self.__sslConfiguration.url)
-##        return sslInfo
-##    
-##    def getSslCertificateChain(self):
-##        """
-##        Public method to get a reference to the SSL certificate chain.
-##        
-##        @return SSL certificate chain (list of QSslCertificate)
-##        """
-##        if self.__sslConfiguration is None:
-##            return []
+##            return False
 ##        
-##        chain = self.__sslConfiguration.peerCertificateChain()
-##        return chain
-##    
-##    def getSslConfiguration(self):
-##        """
-##        Public method to return a reference to the current SSL configuration.
-##        
-##        @return reference to the SSL configuration in use (QSslConfiguration)
-##        """
-##        return self.__sslConfiguration
-##    
-##    def showSslInfo(self, pos):
-##        """
-##        Public slot to show some SSL information for the loaded page.
+##        certList = self.__sslConfiguration.peerCertificateChain()
+##        if not certList:
+##            return False
 ##        
-##        @param pos position to show the info at (QPoint)
-##        """
-##        if SSL_AVAILABLE and self.__sslConfiguration is not None:
-##            from E5Network.E5SslInfoWidget import E5SslInfoWidget
-##            widget = E5SslInfoWidget(
-##                self.mainFrame().url(), self.__sslConfiguration, self.view())
-##            widget.showAt(pos)
-##        else:
-##            E5MessageBox.warning(
-##                self.view(),
-##                self.tr("SSL Info"),
-##                self.tr("""This site does not contain SSL information."""))
-##    
-    def hasValidSslInfo(self):
-        """
-        Public method to check, if the page has a valid SSL certificate.
-        
-        @return flag indicating a valid SSL certificate (boolean)
-        """
-        if self.__sslConfiguration is None:
-            return False
-        
-        certList = self.__sslConfiguration.peerCertificateChain()
-        if not certList:
-            return False
-        
-        certificateDict = Globals.toDict(
-            Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
-        for server in certificateDict:
-            localCAList = QSslCertificate.fromData(certificateDict[server])
-            for cert in certList:
-                if cert in localCAList:
-                    return True
-        
-        for cert in certList:
-            if cert.isBlacklisted():
-                return False
-        
-        return True
+##        certificateDict = Globals.toDict(
+##            Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
+##        for server in certificateDict:
+##            localCAList = QSslCertificate.fromData(certificateDict[server])
+##            for cert in certList:
+##                if cert in localCAList:
+##                    return True
+##        
+##        for cert in certList:
+##            if cert.isBlacklisted():
+##                return False
+##        
+##        return True
     
 ##    @classmethod
 ##    def webPluginFactory(cls):

eric ide

mercurial