Helpviewer/HelpBrowserWV.py

branch
maintenance
changeset 6202
f7ae22fc70d4
parent 6166
bace7fb85a01
child 6206
a02b03b7bfec
--- a/Helpviewer/HelpBrowserWV.py	Sun Mar 04 12:10:39 2018 +0100
+++ b/Helpviewer/HelpBrowserWV.py	Sun Mar 04 13:04:58 2018 +0100
@@ -779,9 +779,8 @@
             self.__featurePermissionRequested)
         
         self.page().downloadRequested.connect(self.__downloadRequested)
-        self.page().frameCreated.connect(
-            lambda frame: self.__addExternalBinding(frame, False))
-        self.__addExternalBinding(self.page().mainFrame(), False)
+        self.page().frameCreated.connect(self.__addExternalBinding)
+        self.__addExternalBinding(self.page().mainFrame())
         
         self.page().databaseQuotaExceeded.connect(self.__databaseQuotaExceeded)
         
@@ -809,21 +808,20 @@
         
         self.grabGesture(Qt.PinchGesture)
     
-    def __addExternalBinding(self, frame, frameCleared):
+    def __addExternalBinding(self, frame=None):
         """
         Private slot to add javascript bindings for adding search providers.
         
         @param frame reference to the web frame
         @type QWebFrame
-        @param frameCleared flag indicate, that the frame was cleared
-        @type bool
         """
         self.page().settings().setAttribute(QWebSettings.JavascriptEnabled,
                                             True)
         if self.__javaScriptBinding is None:
             self.__javaScriptBinding = JavaScriptExternalObject(self.mw, self)
         
-        if frameCleared:
+        if frame is None:
+            frame = self.sender()
             # called from QWebFrame.javaScriptWindowObjectCleared
             if isinstance(frame, HelpWebPage):
                 frame = frame.mainFrame()
@@ -841,7 +839,7 @@
         else:
             # called from QWebPage.frameCreated
             frame.javaScriptWindowObjectCleared.connect(
-                lambda: self.__addExternalBinding(frame, True))
+                self.__addExternalBinding)
         frame.addToJavaScriptWindowObject("external", self.__javaScriptBinding)
     
     def linkedResources(self, relation=""):

eric ide

mercurial