Sat, 31 Dec 2016 13:34:21 +0100
Updated copyright for 2017.
4763
8ad353f31184
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
8ad353f31184
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
5389
9b1c800daff3
Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4909
diff
changeset
|
3 | # Copyright (c) 2016 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> |
4763
8ad353f31184
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
8ad353f31184
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
4767
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
6 | """ |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
7 | Module implementing a handler for GreaseMonkey related URLs. |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
8 | """ |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
9 | |
4763
8ad353f31184
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from __future__ import unicode_literals |
8ad353f31184
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
4909
a7bede0eb067
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4858
diff
changeset
|
12 | from PyQt5.QtWebEngineCore import QWebEngineUrlRequestInfo |
a7bede0eb067
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4858
diff
changeset
|
13 | |
4767
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
14 | from ..Network.UrlInterceptor import UrlInterceptor |
4763
8ad353f31184
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
8ad353f31184
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
4767
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
17 | class GreaseMonkeyUrlInterceptor(UrlInterceptor): |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
18 | """ |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
19 | Class implementing a handler for GreaseMonkey related URLs. |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
20 | """ |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
21 | def __init__(self, manager): |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
22 | """ |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
23 | Constructor |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
24 | |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
25 | @param manager reference to the GreaseMonkey manager |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
26 | @type GreaseMonkeyManager |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
27 | """ |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
28 | super(GreaseMonkeyUrlInterceptor, self).__init__(manager) |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
29 | |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
30 | self.__manager = manager |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
31 | |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
32 | def interceptRequest(self, info): |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
33 | """ |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
34 | Public method to handle a GreaseMonkey request. |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
35 | |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
36 | @param info request info object |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
37 | @type QWebEngineUrlRequestInfo |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
38 | """ |
4909
a7bede0eb067
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4858
diff
changeset
|
39 | if info.navigationType() != \ |
a7bede0eb067
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4858
diff
changeset
|
40 | QWebEngineUrlRequestInfo.NavigationTypeLink: |
a7bede0eb067
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4858
diff
changeset
|
41 | return |
a7bede0eb067
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4858
diff
changeset
|
42 | |
4858
19dff9c9cf26
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
43 | if info.requestUrl().toString().endswith(".user.js"): |
4767
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
44 | self.__manager.downloadScript(info.requestUrl()) |
0bace7c5ebc9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4763
diff
changeset
|
45 | info.block(True) |