diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-03-24 19:12:50 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-04-03 14:37:25 +0200 |
commit | 967ae24b20f787cd123175cfe94f1728a632a48e (patch) | |
tree | 13c8f3025e311c423409470bd52518e02dd1f071 | |
parent | 7f70988ad745adecc0c8b5a137e51250d3228c9f (diff) | |
download | qutebrowser-967ae24b20f787cd123175cfe94f1728a632a48e.tar.gz qutebrowser-967ae24b20f787cd123175cfe94f1728a632a48e.zip |
Move WhatsApp quirk to separate file
(cherry picked from commit 4329328b2772e95952d6eefdaaee5784a36ddd98)
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 29 | ||||
-rw-r--r-- | qutebrowser/javascript/whatsapp_web_quirk.user.js | 14 |
2 files changed, 24 insertions, 19 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 970ef6d45..ad8ef3b03 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -1104,25 +1104,16 @@ class _WebEngineScripts(QObject): if not config.val.content.site_specific_quirks: return - # WhatsApp Web, based on: - # https://github.com/jiahaog/nativefier/issues/719#issuecomment-443809630 - script = QWebEngineScript() - script.setName('quirk-whatsapp') - script.setWorldId(QWebEngineScript.ApplicationWorld) - script.setInjectionPoint(QWebEngineScript.DocumentReady) - script.setSourceCode(textwrap.dedent(r""" - // ==UserScript== - // @include https://web.whatsapp.com/ - // ==/UserScript== - if (document.body.innerText.replace(/\n/g, ' ').search( - /whatsapp works with.*to use whatsapp.*update/i) !== -1) { - navigator.serviceWorker.getRegistration().then(function (r) { - r.unregister(); - document.location.reload(); - }); - } - """)) - self._widget.page().scripts().insert(script) + page_scripts = self._widget.page().scripts() + + for filename in ['whatsapp_web_quirk']: + script = QWebEngineScript() + script.setName(filename) + script.setWorldId(QWebEngineScript.ApplicationWorld) + script.setInjectionPoint(QWebEngineScript.DocumentReady) + src = utils.read_file("javascript/{}.user.js".format(filename)) + script.setSourceCode(src) + page_scripts.insert(script) class WebEngineTabPrivate(browsertab.AbstractTabPrivate): diff --git a/qutebrowser/javascript/whatsapp_web_quirk.user.js b/qutebrowser/javascript/whatsapp_web_quirk.user.js new file mode 100644 index 000000000..78cec54f8 --- /dev/null +++ b/qutebrowser/javascript/whatsapp_web_quirk.user.js @@ -0,0 +1,14 @@ +// ==UserScript== +// @include https://web.whatsapp.com/ +// ==/UserScript== + +// Quirk for WhatsApp Web, based on: +// https://github.com/jiahaog/nativefier/issues/719#issuecomment-443809630 + +if (document.body.innerText.replace(/\n/g, ' ').search( + /whatsapp works with.*to use whatsapp.*update/i) !== -1) { + navigator.serviceWorker.getRegistration().then(function (r) { + r.unregister(); + document.location.reload(); + }); +} |