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): |