Helpviewer/GreaseMonkey/GreaseMonkeyManager.py

changeset 6120
4c60a21ce6dd
parent 6048
82ad8ec9548c
child 6173
cb1488b062a9
--- a/Helpviewer/GreaseMonkey/GreaseMonkeyManager.py	Tue Feb 06 19:21:00 2018 +0100
+++ b/Helpviewer/GreaseMonkey/GreaseMonkeyManager.py	Wed Feb 07 18:57:46 2018 +0100
@@ -61,18 +61,19 @@
         """
         from .GreaseMonkeyDownloader import GreaseMonkeyDownloader
         downloader = GreaseMonkeyDownloader(request, self)
-        downloader.finished.connect(self.__downloaderFinished)
+        downloader.finished.connect(
+            lambda: self.__downloaderFinished(downloader))
         self.__downloaders.append(downloader)
     
-    def __downloaderFinished(self):
+    def __downloaderFinished(self, downloader):
         """
         Private slot to handle the completion of a script download.
+        
+        @param downloader reference to the downloader object
+        @type GreaseMonkeyDownloader
         """
-        downloader = self.sender()
-        if downloader is None or downloader not in self.__downloaders:
-            return
-        
-        self.__downloaders.remove(downloader)
+        if downloader in self.__downloaders:
+            self.__downloaders.remove(downloader)
     
     def scriptsDirectory(self):
         """
@@ -231,14 +232,13 @@
         """
         return scheme in ["http", "https", "data", "ftp"]
     
-    def pageLoadStarted(self):
+    def pageLoadStarted(self, frame):
         """
         Public slot to handle the start of loading a page.
+        
+        @param frame reference to the main frame of the loading page
+        @type QWebFrame
         """
-        frame = self.sender()
-        if not frame:
-            return
-        
         urlScheme = frame.url().scheme()
         urlString = bytes(frame.url().toEncoded()).decode()
         
@@ -290,8 +290,9 @@
         
         @param page reference to the web page (HelpWebPage)
         """
-        page.mainFrame().javaScriptWindowObjectCleared.connect(
-            self.pageLoadStarted)
+        mainFrame = page.mainFrame()
+        mainFrame.javaScriptWindowObjectCleared.connect(
+            lambda: self.pageLoadStarted(mainFrame))
     
     def createRequest(self, op, request, outgoingData=None):
         """

eric ide

mercurial