eric6/WebBrowser/Network/NetworkUrlInterceptor.py

changeset 7774
9eed155411f0
parent 7360
9190402e4505
child 7775
4a1db75550bd
--- a/eric6/WebBrowser/Network/NetworkUrlInterceptor.py	Sat Oct 10 15:17:29 2020 +0200
+++ b/eric6/WebBrowser/Network/NetworkUrlInterceptor.py	Sat Oct 10 16:03:53 2020 +0200
@@ -9,11 +9,13 @@
 """
 
 
-from PyQt5.QtCore import QMutex, QMutexLocker, QUrl
+from PyQt5.QtCore import QMutex, QUrl
 from PyQt5.QtWebEngineCore import (
     QWebEngineUrlRequestInterceptor, QWebEngineUrlRequestInfo
 )
 
+from E5Utilities.E5MutexLocker import E5MutexLocker
+
 from ..WebBrowserPage import WebBrowserPage
 
 import Preferences
@@ -44,24 +46,23 @@
         @param info URL request information
         @type QWebEngineUrlRequestInfo
         """
-        locker = QMutexLocker(self.__mutex)     # __IGNORE_WARNING__
-        
-        # Do Not Track feature
-        if self.__doNotTrack:
-            info.setHttpHeader(b"DNT", b"1")
-            info.setHttpHeader(b"X-Do-Not-Track", b"1")
-        
-        # Send referrer header?
-        if info.requestUrl().host() not in Preferences.getWebBrowser(
-                "SendRefererWhitelist"):
-            self.__setRefererHeader(info)
-        
-        # User Agents header
-        userAgent = WebBrowserPage.userAgentForUrl(info.requestUrl())
-        info.setHttpHeader(b"User-Agent", userAgent.encode())
-        
-        for interceptor in self.__interceptors:
-            interceptor.interceptRequest(info)
+        with E5MutexLocker(self.__mutex):
+            # Do Not Track feature
+            if self.__doNotTrack:
+                info.setHttpHeader(b"DNT", b"1")
+                info.setHttpHeader(b"X-Do-Not-Track", b"1")
+            
+            # Send referrer header?
+            if info.requestUrl().host() not in Preferences.getWebBrowser(
+                    "SendRefererWhitelist"):
+                self.__setRefererHeader(info)
+            
+            # User Agents header
+            userAgent = WebBrowserPage.userAgentForUrl(info.requestUrl())
+            info.setHttpHeader(b"User-Agent", userAgent.encode())
+            
+            for interceptor in self.__interceptors:
+                interceptor.interceptRequest(info)
     
     def installUrlInterceptor(self, interceptor):
         """
@@ -70,10 +71,9 @@
         @param interceptor URL interceptor to be installed
         @type UrlInterceptor
         """
-        locker = QMutexLocker(self.__mutex)     # __IGNORE_WARNING__
-        
-        if interceptor not in self.__interceptors:
-            self.__interceptors.append(interceptor)
+        with E5MutexLocker(self.__mutex):
+            if interceptor not in self.__interceptors:
+                self.__interceptors.append(interceptor)
     
     def removeUrlInterceptor(self, interceptor):
         """
@@ -82,23 +82,21 @@
         @param interceptor URL interceptor to be removed
         @type UrlInterceptor
         """
-        locker = QMutexLocker(self.__mutex)     # __IGNORE_WARNING__
-        
-        if interceptor in self.__interceptors:
-            self.__interceptors.remove(interceptor)
+        with E5MutexLocker(self.__mutex):
+            if interceptor in self.__interceptors:
+                self.__interceptors.remove(interceptor)
     
     def __loadSettings(self):
         """
         Private method to load the Network Manager settings.
         """
-        locker = QMutexLocker(self.__mutex)     # __IGNORE_WARNING__
-        
-        self.__doNotTrack = Preferences.getWebBrowser("DoNotTrack")
-        self.__sendReferer = Preferences.getWebBrowser("RefererSendReferer")
-        self.__refererDefaultPolicy = Preferences.getWebBrowser(
-            "RefererDefaultPolicy")
-        self.__refererTrimmingPolicy = Preferences.getWebBrowser(
-            "RefererTrimmingPolicy")
+        with E5MutexLocker(self.__mutex):
+            self.__doNotTrack = Preferences.getWebBrowser("DoNotTrack")
+            self.__sendReferer = Preferences.getWebBrowser("RefererSendReferer")
+            self.__refererDefaultPolicy = Preferences.getWebBrowser(
+                "RefererDefaultPolicy")
+            self.__refererTrimmingPolicy = Preferences.getWebBrowser(
+                "RefererTrimmingPolicy")
     
     def preferencesChanged(self):
         """

eric ide

mercurial