summaryrefslogtreecommitdiff
path: root/qutebrowser/config/configfiles.py
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-05-13 13:02:26 +0200
committerFlorian Bruhin <me@the-compiler.org>2021-05-18 18:18:59 +0200
commitd79f6296ee88f8adcc548bf6ab0d0d8ebf0260d9 (patch)
tree6bad104d04c016d11e794a4d23e8e3c60d010c65 /qutebrowser/config/configfiles.py
parent998902cc53040b0ff5ed88a15c82b571db9a15be (diff)
downloadqutebrowser-d79f6296ee88f8adcc548bf6ab0d0d8ebf0260d9.tar.gz
qutebrowser-d79f6296ee88f8adcc548bf6ab0d0d8ebf0260d9.zip
Remove service workers based on QtWebEngine version
See https://bugreports.qt.io/browse/QTBUG-93744 (cherry picked from commit b03b03bdf6e02e13b348689bf7b18196432f232b) Additional fixups: Store initial QtWebEngine version (cherry picked from commit 948fd5040d81228452fd72a0170a0d8fe35839a9) Fix state config unit tests (cherry picked from commit 335ed484c1f8b6e5417d9000ae226b4f9a85b28f) Fix running without QtWebEngine (cherry picked from commit 57ed85ffad3278d159d1ebd03081a5e719b952cb) Remove unused imports (cherry picked from commit 9e52ad621ac44d0391c2c6d9dbdda967f7ce95f0) Fix tests without QtWebEngine (cherry picked from commit ac12fcd714c699f927170b3d0508336940366bac)
Diffstat (limited to 'qutebrowser/config/configfiles.py')
-rw-r--r--qutebrowser/config/configfiles.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/qutebrowser/config/configfiles.py b/qutebrowser/config/configfiles.py
index f8566e2d0..a3320c5c1 100644
--- a/qutebrowser/config/configfiles.py
+++ b/qutebrowser/config/configfiles.py
@@ -39,7 +39,7 @@ import qutebrowser
from qutebrowser.config import (configexc, config, configdata, configutils,
configtypes)
from qutebrowser.keyinput import keyutils
-from qutebrowser.utils import standarddir, utils, qtutils, log, urlmatch
+from qutebrowser.utils import standarddir, utils, qtutils, log, urlmatch, version
if TYPE_CHECKING:
from qutebrowser.misc import savemanager
@@ -89,6 +89,7 @@ class StateConfig(configparser.ConfigParser):
self.read(self._filename, encoding='utf-8')
self.qt_version_changed = False
+ self.qtwe_version_changed = False
self.qutebrowser_version_changed = VersionChange.unknown
self._set_changed_attributes()
@@ -108,8 +109,20 @@ class StateConfig(configparser.ConfigParser):
self[sect].pop(key, None)
self['general']['qt_version'] = qVersion()
+ self['general']['qtwe_version'] = self._qtwe_version_str()
self['general']['version'] = qutebrowser.__version__
+ def _qtwe_version_str(self) -> str:
+ """Get the QtWebEngine version string.
+
+ Note that it's too early to use objects.backend here...
+ """
+ try:
+ import PyQt5.QtWebEngineWidgets # pylint: disable=unused-import
+ except ImportError:
+ return 'no'
+ return str(version.qtwebengine_versions(avoid_init=True).webengine)
+
def _set_changed_attributes(self) -> None:
"""Set qt_version_changed/qutebrowser_version_changed attributes.
@@ -123,6 +136,9 @@ class StateConfig(configparser.ConfigParser):
old_qt_version = self['general'].get('qt_version', None)
self.qt_version_changed = old_qt_version != qVersion()
+ old_qtwe_version = self['general'].get('qtwe_version', None)
+ self.qtwe_version_changed = old_qtwe_version != self._qtwe_version_str()
+
old_qutebrowser_version = self['general'].get('version', None)
if old_qutebrowser_version is None:
# https://github.com/python/typeshed/issues/2093