WebBrowser/WebBrowserPage.py

changeset 6146
94a4e8d1ac4f
parent 6142
304a469455c8
child 6149
e611e45a17d6
equal deleted inserted replaced
6145:dfe864318196 6146:94a4e8d1ac4f
53 53
54 safeBrowsingAbort = pyqtSignal() 54 safeBrowsingAbort = pyqtSignal()
55 safeBrowsingBad = pyqtSignal(str, str) 55 safeBrowsingBad = pyqtSignal(str, str)
56 56
57 printRequested = pyqtSignal() 57 printRequested = pyqtSignal()
58 navigationRequestAccepted = pyqtSignal(QUrl, QWebEnginePage.NavigationType,
59 bool)
58 60
59 def __init__(self, parent=None): 61 def __init__(self, parent=None):
60 """ 62 """
61 Constructor 63 Constructor
62 64
80 self.urlChanged.connect(self.__urlChanged) 82 self.urlChanged.connect(self.__urlChanged)
81 83
82 self.__printer = None 84 self.__printer = None
83 self.__badSite = False 85 self.__badSite = False
84 86
85 if qVersionTuple == (5, 10, 0): 87 if qVersionTuple() == (5, 10, 0):
86 self.loadProgress.connect(self.__loadProgressSlot) 88 self.loadProgress.connect(self.__loadProgressSlot)
87 89
88 # Workaround for changing webchannel world inside 90 # Workaround for changing webchannel world inside
89 # acceptNavigationRequest not working 91 # acceptNavigationRequest not working
90 self.__channelUrl = QUrl() 92 self.__channelUrl = QUrl()
179 self.safeBrowsingBad.emit(threatType, "".join(threatMessages)) 181 self.safeBrowsingBad.emit(threatType, "".join(threatMessages))
180 182
181 result = QWebEnginePage.acceptNavigationRequest(self, url, type_, 183 result = QWebEnginePage.acceptNavigationRequest(self, url, type_,
182 isMainFrame) 184 isMainFrame)
183 185
184 if result and isMainFrame: 186 if result:
185 isWeb = url.scheme() in ("http", "https", "ftp", "ftps", "file") 187 if isMainFrame:
186 globalJsEnabled = WebBrowserWindow.webSettings().testAttribute( 188 isWeb = url.scheme() in ("http", "https", "ftp", "ftps",
187 QWebEngineSettings.JavascriptEnabled) 189 "file")
188 if isWeb: 190 globalJsEnabled = WebBrowserWindow.webSettings().testAttribute(
189 enable = globalJsEnabled 191 QWebEngineSettings.JavascriptEnabled)
190 else: 192 if isWeb:
191 enable = True 193 enable = globalJsEnabled
192 self.settings().setAttribute( 194 else:
193 QWebEngineSettings.JavascriptEnabled, enable) 195 enable = True
194 196 self.settings().setAttribute(
195 self.__channelUrl = url 197 QWebEngineSettings.JavascriptEnabled, enable)
196 self.__setupChannelTimer.start() 198
199 self.__channelUrl = url
200 self.__setupChannelTimer.start()
201 self.navigationRequestAccepted.emit(url, type_, isMainFrame)
197 202
198 return result 203 return result
199 204
200 @pyqtSlot(QUrl) 205 @pyqtSlot(QUrl)
201 def __urlChanged(self, url): 206 def __urlChanged(self, url):

eric ide

mercurial