--- a/WebBrowser/Network/NetworkManager.py Wed Mar 09 19:58:37 2016 +0100 +++ b/WebBrowser/Network/NetworkManager.py Wed Mar 09 20:05:24 2016 +0100 @@ -25,6 +25,7 @@ SSL_AVAILABLE = False from WebBrowser.WebBrowserWindow import WebBrowserWindow +from .NetworkUrlInterceptor import NetworkUrlInterceptor from Utilities.AutoSaver import AutoSaver import Preferences @@ -71,6 +72,13 @@ self.proxyAuthenticationRequired.connect(proxyAuthenticationRequired) self.authenticationRequired.connect( lambda reply, auth: self.authentication(reply.url(), auth)) + + # TODO: install network scheme handlers + + self.__interceptor = NetworkUrlInterceptor(self) + WebBrowserWindow.webProfile().setRequestInterceptor(self.__interceptor) + + # TODO: Cookie: create cookie jar def __save(self): """ @@ -258,14 +266,29 @@ self.__acceptLanguage = WebBrowserLanguagesDialog.httpString(languages) # TODO: Qt 5.6 -## from WebBrowser.WebBrowserWindow import WebBrowserWindow ## WebBrowserWindow.webProfile().setHttpAcceptLanguage( ## self.__acceptLanguage) def installUrlInterceptor(self, interceptor): - # TODO: Qt 5.6, URL Interceptor - pass + """ + Public method to install an URL interceptor. + + @param interceptor URL interceptor to be installed + @type UrlInterceptor + """ + self.__interceptor.installUrlInterceptor(interceptor) def removeUrlInterceptor(self, interceptor): - # TODO: Qt 5.6, URL Interceptor - pass + """ + Public method to remove an URL interceptor. + + @param interceptor URL interceptor to be removed + @type UrlInterceptor + """ + self.__interceptor.removeUrlInterceptor(interceptor) + + def preferencesChanged(self): + """ + Public slot to handle a change of preferences. + """ + self.__interceptor.preferencesChanged()