diff options
Diffstat (limited to 'qutebrowser/browser/webengine/webenginetab.py')
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 439d99570..450d68751 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -1099,6 +1099,7 @@ class _WebEngineScripts(QObject): for script in scripts: new_script = QWebEngineScript() + try: world = int(script.jsworld) if not 0 <= world <= qtutils.MAX_WORLD_ID: @@ -1116,6 +1117,17 @@ class _WebEngineScripts(QObject): f": {script.jsworld}") continue new_script.setWorldId(world) + + # Corresponds to "@run-at document-end" which is the default according to + # https://wiki.greasespot.net/Metadata_Block#.40run-at - however, + # QtWebEngine uses QWebEngineScript.Deferred (@run-at document-idle) as + # default. + # + # NOTE that this needs to be done before setSourceCode, so that + # QtWebEngine's parsing of GreaseMonkey tags will override it if there is a + # @run-at comment. + new_script.setInjectionPoint(QWebEngineScript.DocumentReady) + new_script.setSourceCode(script.code()) new_script.setName(f"GM-{script.name}") new_script.setRunsOnSubFrames(script.runs_on_sub_frames) |