diff -r 09f38f85a3af -r 939ff20f712d WebBrowser/WebBrowserPage.py --- a/WebBrowser/WebBrowserPage.py Mon Mar 28 17:04:18 2016 +0200 +++ b/WebBrowser/WebBrowserPage.py Tue Mar 29 10:32:22 2016 +0200 @@ -351,70 +351,45 @@ ## """ ## return self.__adBlockedEntries - # TODO: User Agent Manager -## def userAgent(self, resolveEmpty=False): -## """ -## Public method to get the global user agent setting. -## -## @param resolveEmpty flag indicating to resolve an empty -## user agent (boolean) -## @return user agent string (string) -## """ -## agent = Preferences.getWebBrowser("UserAgent") -## if agent == "" and resolveEmpty: -## agent = self.userAgentForUrl(QUrl()) -## return agent -## -## def setUserAgent(self, agent): -## """ -## Public method to set the global user agent string. -## -## @param agent new current user agent string (string) -## """ -## Preferences.setWebBrowser("UserAgent", agent) -## -## def userAgentForUrl(self, url): -## """ -## Public method to determine the user agent for the given URL. -## -## @param url URL to determine user agent for (QUrl) -## @return user agent string (string) -## """ -## agent = WebBrowserWindow.userAgentsManager().userAgentForUrl(url) -## if agent == "": -## # no agent string specified for the given host -> use global one -## agent = Preferences.getWebBrowser("UserAgent") -## if agent == "": -## # no global agent string specified -> use default one -## agent = QWebPage.userAgentForUrl(self, url) -## return agent -## -## 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 + @classmethod + def userAgent(cls, resolveEmpty=False): + """ + Class method to get the global user agent setting. + + @param resolveEmpty flag indicating to resolve an empty + user agent (boolean) + @return user agent string (string) + """ + agent = Preferences.getWebBrowser("UserAgent") + if agent == "" and resolveEmpty: + agent = cls.userAgentForUrl(QUrl()) + return agent + + @classmethod + def setUserAgent(cls, agent): + """ + Class method to set the global user agent string. + + @param agent new current user agent string (string) + """ + Preferences.setWebBrowser("UserAgent", agent) + + @classmethod + def userAgentForUrl(cls, url): + """ + Class method to determine the user agent for the given URL. + + @param url URL to determine user agent for (QUrl) + @return user agent string (string) + """ + agent = WebBrowserWindow.userAgentsManager().userAgentForUrl(url) + if agent == "": + # no agent string specified for the given host -> use global one + agent = Preferences.getWebBrowser("UserAgent") + if agent == "": + # no global agent string specified -> use default one + agent = WebBrowserWindow.webProfile().httpUserAgent() + return agent ## @classmethod ## def webPluginFactory(cls):