From 967ae24b20f787cd123175cfe94f1728a632a48e Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 24 Mar 2020 19:12:50 +0100 Subject: Move WhatsApp quirk to separate file (cherry picked from commit 4329328b2772e95952d6eefdaaee5784a36ddd98) --- qutebrowser/browser/webengine/webenginetab.py | 29 ++++++++--------------- qutebrowser/javascript/whatsapp_web_quirk.user.js | 14 +++++++++++ 2 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 qutebrowser/javascript/whatsapp_web_quirk.user.js 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(); + }); +} -- cgit v1.2.3-54-g00ecf