29 @type QObject |
30 @type QObject |
30 """ |
31 """ |
31 super(NetworkUrlInterceptor, self).__init__(parent) |
32 super(NetworkUrlInterceptor, self).__init__(parent) |
32 |
33 |
33 self.__interceptors = [] |
34 self.__interceptors = [] |
|
35 self.__mutex = QMutex() |
34 |
36 |
35 self.__loadSettings() |
37 self.__loadSettings() |
36 |
38 |
37 def interceptRequest(self, info): |
39 def interceptRequest(self, info): |
38 """ |
40 """ |
39 Public method handling an URL request. |
41 Public method handling an URL request. |
40 |
42 |
41 @param info URL request information |
43 @param info URL request information |
42 @type QWebEngineUrlRequestInfo |
44 @type QWebEngineUrlRequestInfo |
43 """ |
45 """ |
|
46 locker = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ |
|
47 |
44 # Do Not Track feature |
48 # Do Not Track feature |
45 if self.__doNotTrack: |
49 if self.__doNotTrack: |
46 info.setHttpHeader(b"DNT", b"1") |
50 info.setHttpHeader(b"DNT", b"1") |
47 info.setHttpHeader(b"X-Do-Not-Track", b"1") |
51 info.setHttpHeader(b"X-Do-Not-Track", b"1") |
48 |
52 |
63 Public method to install an URL interceptor. |
67 Public method to install an URL interceptor. |
64 |
68 |
65 @param interceptor URL interceptor to be installed |
69 @param interceptor URL interceptor to be installed |
66 @type UrlInterceptor |
70 @type UrlInterceptor |
67 """ |
71 """ |
|
72 locker = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ |
|
73 |
68 if interceptor not in self.__interceptors: |
74 if interceptor not in self.__interceptors: |
69 self.__interceptors.append(interceptor) |
75 self.__interceptors.append(interceptor) |
70 |
76 |
71 def removeUrlInterceptor(self, interceptor): |
77 def removeUrlInterceptor(self, interceptor): |
72 """ |
78 """ |
73 Public method to remove an URL interceptor. |
79 Public method to remove an URL interceptor. |
74 |
80 |
75 @param interceptor URL interceptor to be removed |
81 @param interceptor URL interceptor to be removed |
76 @type UrlInterceptor |
82 @type UrlInterceptor |
77 """ |
83 """ |
|
84 locker = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ |
|
85 |
78 if interceptor in self.__interceptors: |
86 if interceptor in self.__interceptors: |
79 self.__interceptors.remove(interceptor) |
87 self.__interceptors.remove(interceptor) |
80 |
88 |
81 def __loadSettings(self): |
89 def __loadSettings(self): |
82 """ |
90 """ |
83 Private method to load the Network Manager settings. |
91 Private method to load the Network Manager settings. |
84 """ |
92 """ |
|
93 locker = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ |
|
94 |
85 self.__doNotTrack = Preferences.getWebBrowser("DoNotTrack") |
95 self.__doNotTrack = Preferences.getWebBrowser("DoNotTrack") |
86 self.__sendReferer = Preferences.getWebBrowser("SendReferer") |
96 self.__sendReferer = Preferences.getWebBrowser("SendReferer") |
87 |
97 |
88 def preferencesChanged(self): |
98 def preferencesChanged(self): |
89 """ |
99 """ |