WebBrowser/Network/NetworkManager.py

branch
QtWebEngine
changeset 4825
b5fb58f3830b
parent 4820
f38e4fb83ecd
child 4827
778ccdf3417e
--- 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()

eric ide

mercurial