summaryrefslogtreecommitdiff
path: root/qutebrowser/browser/webengine/webenginetab.py
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-05-18 17:04:37 +0200
committerFlorian Bruhin <me@the-compiler.org>2021-05-18 18:19:21 +0200
commit17c53063a091b754df0cc66c60f72c9dae262b7d (patch)
treea28910281f98b2526d7c03e3e6fadffb86407ff7 /qutebrowser/browser/webengine/webenginetab.py
parentd79f6296ee88f8adcc548bf6ab0d0d8ebf0260d9 (diff)
downloadqutebrowser-17c53063a091b754df0cc66c60f72c9dae262b7d.tar.gz
qutebrowser-17c53063a091b754df0cc66c60f72c9dae262b7d.zip
Add a new site-specific quirk for Google Docs
See #6464, #5472, #4805, #4810 e010afd3a20a86639396a9c844abfea7b23cc67a https://bugreports.qt.io/browse/QTBUG-69652 (cherry picked from commit 8e617d010a5cd305ff42191ea6458a2d003b6d46)
Diffstat (limited to 'qutebrowser/browser/webengine/webenginetab.py')
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index 15784d6bf..c793a1929 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -983,6 +983,11 @@ class _Quirk:
QWebEngineScript.DocumentCreation)
world: QWebEngineScript.ScriptWorldId = QWebEngineScript.MainWorld
predicate: bool = True
+ name: Optional[str] = None
+
+ def __post_init__(self):
+ if self.name is None:
+ self.name = f"js-{self.filename.replace('_', '-')}"
class _WebEngineScripts(QObject):
@@ -1154,6 +1159,11 @@ class _WebEngineScripts(QObject):
),
_Quirk('discord'),
_Quirk(
+ 'googledocs',
+ # will be an UA quirk once we set the JS UA as well
+ name='ua-googledocs',
+ ),
+ _Quirk(
'string_replaceall',
predicate=versions.webengine < utils.VersionNumber(5, 15, 3),
),
@@ -1171,8 +1181,7 @@ class _WebEngineScripts(QObject):
if not quirk.predicate:
continue
src = resources.read_file(f'javascript/quirks/{quirk.filename}.user.js')
- name = f"js-{quirk.filename.replace('_', '-')}"
- if name not in config.val.content.site_specific_quirks.skip:
+ if quirk.name not in config.val.content.site_specific_quirks.skip:
self._inject_js(
f'quirk_{quirk.filename}',
src,