12 import os |
12 import os |
13 |
13 |
14 from PyQt5.QtCore import pyqtSignal, QObject, QTimer, QFile, QDir, QSettings, \ |
14 from PyQt5.QtCore import pyqtSignal, QObject, QTimer, QFile, QDir, QSettings, \ |
15 QUrl, QByteArray |
15 QUrl, QByteArray |
16 from PyQt5.QtNetwork import QNetworkAccessManager |
16 from PyQt5.QtNetwork import QNetworkAccessManager |
|
17 from PyQt5.QtWebKit import QWebFrame |
17 |
18 |
18 import Utilities |
19 import Utilities |
19 import Preferences |
20 import Preferences |
20 |
21 |
21 |
22 |
230 @param scheme scheme to check (string) |
231 @param scheme scheme to check (string) |
231 @return flag indicating, that scripts can be run (boolean) |
232 @return flag indicating, that scripts can be run (boolean) |
232 """ |
233 """ |
233 return scheme in ["http", "https", "data", "ftp"] |
234 return scheme in ["http", "https", "data", "ftp"] |
234 |
235 |
235 def pageLoadStarted(self, frame): |
236 def pageLoadStarted(self): |
236 """ |
237 """ |
237 Public slot to handle the start of loading a page. |
238 Public slot to handle the start of loading a page. |
238 |
239 """ |
239 @param frame reference to the main frame of the loading page |
240 frame = self.sender() |
240 @type QWebFrame |
241 if frame is None or not isinstance(frame, QWebFrame): |
241 """ |
242 return |
|
243 |
242 urlScheme = frame.url().scheme() |
244 urlScheme = frame.url().scheme() |
243 urlString = bytes(frame.url().toEncoded()).decode() |
245 urlString = bytes(frame.url().toEncoded()).decode() |
244 |
246 |
245 if not self.canRunOnScheme(urlScheme): |
247 if not self.canRunOnScheme(urlScheme): |
246 return |
248 return |
288 """ |
290 """ |
289 Public method to allow the GreaseMonkey manager to connect to the page. |
291 Public method to allow the GreaseMonkey manager to connect to the page. |
290 |
292 |
291 @param page reference to the web page (HelpWebPage) |
293 @param page reference to the web page (HelpWebPage) |
292 """ |
294 """ |
293 mainFrame = page.mainFrame() |
295 page.mainFrame().javaScriptWindowObjectCleared.connect( |
294 mainFrame.javaScriptWindowObjectCleared.connect( |
296 self.pageLoadStarted) |
295 lambda: self.pageLoadStarted(mainFrame)) |
|
296 |
297 |
297 def createRequest(self, op, request, outgoingData=None): |
298 def createRequest(self, op, request, outgoingData=None): |
298 """ |
299 """ |
299 Public method to create a request. |
300 Public method to create a request. |
300 |
301 |