diff options
author | Jimmy <jimmy@spalge.com> | 2018-06-26 13:05:27 +1200 |
---|---|---|
committer | Jimmy <jimmy@spalge.com> | 2018-06-26 15:00:35 +1200 |
commit | 324966cfe7316a395f3b043f734cd090b78d54f7 (patch) | |
tree | 7b607898b11ddc749243955d1841bd5df9f3a5e5 | |
parent | 521268a1f719a89e38d779010d4353db612a803f (diff) | |
download | qutebrowser-324966cfe7316a395f3b043f734cd090b78d54f7.tar.gz qutebrowser-324966cfe7316a395f3b043f734cd090b78d54f7.zip |
greasemonkey: also support qute-js-world on 5.7.1
A straight copy from webengintab.
Yes I know I shouldn't be importing a private thing from webenginetab,
I'm working on refactoring now.
-rw-r--r-- | qutebrowser/browser/webengine/webview.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/qutebrowser/browser/webengine/webview.py b/qutebrowser/browser/webengine/webview.py index 76007b9d9..2eea5d837 100644 --- a/qutebrowser/browser/webengine/webview.py +++ b/qutebrowser/browser/webengine/webview.py @@ -288,7 +288,19 @@ class WebEnginePage(QWebEnginePage): def _add_script(script, injection_point): new_script = QWebEngineScript() new_script.setInjectionPoint(injection_point) - new_script.setWorldId(QWebEngineScript.MainWorld) + try: + world = int(script.jsworld) + except ValueError: + try: + from qutebrowser.browser.webengine.webenginetab import _JS_WORLD_MAP + world = _JS_WORLD_MAP[usertypes.JsWorld[ + script.jsworld.lower()]] + except KeyError: + log.greasemonkey.error( + "script {} has invalid value for '@qute-js-world'" + ": {}".format(script.name, script.jsworld)) + return + new_script.setWorldId(world) new_script.setSourceCode(script.code()) new_script.setName("GM-{}".format(script.name)) new_script.setRunsOnSubFrames(script.runs_on_sub_frames) |