summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-03-12 09:36:28 +0100
committerFlorian Bruhin <me@the-compiler.org>2021-03-12 09:36:28 +0100
commite833ee301b0bb96f4a9df28e2605bf4afbc1cca1 (patch)
treed86e21783f63717ca2a7aac4f8b635f3f4d9ed5f
parent5a1b148e772ae432f7b4bb8e4f125ce5ce6060ba (diff)
downloadqutebrowser-e833ee301b0bb96f4a9df28e2605bf4afbc1cca1.tar.gz
qutebrowser-e833ee301b0bb96f4a9df28e2605bf4afbc1cca1.zip
Add WebEngineVersions.chromium_major
-rw-r--r--qutebrowser/browser/webengine/darkmode.py3
-rw-r--r--qutebrowser/utils/version.py10
-rw-r--r--tests/unit/utils/test_version.py19
3 files changed, 30 insertions, 2 deletions
diff --git a/qutebrowser/browser/webengine/darkmode.py b/qutebrowser/browser/webengine/darkmode.py
index 30a9ac6eb..1c6530b49 100644
--- a/qutebrowser/browser/webengine/darkmode.py
+++ b/qutebrowser/browser/webengine/darkmode.py
@@ -342,8 +342,7 @@ def _variant(versions: version.WebEngineVersions) -> Variant:
log.init.warning(f"Ignoring invalid QUTE_DARKMODE_VARIANT={env_var}")
if (versions.webengine == utils.VersionNumber(5, 15, 2) and
- versions.chromium is not None and
- versions.chromium.startswith('87.')):
+ versions.chromium_major == 87):
# WORKAROUND for Gentoo packaging something newer as 5.15.2...
return Variant.qt_515_3
elif versions.webengine >= utils.VersionNumber(5, 15, 3):
diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py
index 46916c516..400b080b9 100644
--- a/qutebrowser/utils/version.py
+++ b/qutebrowser/utils/version.py
@@ -525,6 +525,7 @@ class WebEngineVersions:
webengine: utils.VersionNumber
chromium: Optional[str]
source: str
+ chromium_major: Optional[int] = dataclasses.field(init=False)
_CHROMIUM_VERSIONS: ClassVar[Dict[utils.VersionNumber, str]] = {
# Qt 5.12: Chromium 69
@@ -562,11 +563,20 @@ class WebEngineVersions:
# 5.15.1: Security fixes up to 85.0.4183.83 (2020-08-25)
# 5.15.2: Updated to 83.0.4103.122 (~2020-06-24)
# Security fixes up to 86.0.4240.183 (2020-11-02)
+ # 5.15.3: Updated to 87.0.4280.144 (~2020-12-02)
+ # Security fixes up to 88.0.4324.150 (2021-02-04)
utils.VersionNumber(5, 15): '80.0.3987.163',
utils.VersionNumber(5, 15, 2): '83.0.4103.122',
utils.VersionNumber(5, 15, 3): '87.0.4280.144',
}
+ def __post_init__(self):
+ """Set the major Chromium version."""
+ if self.chromium is None:
+ self.chromium_major = None
+ else:
+ self.chromium_major = int(self.chromium.split('.')[0])
+
def __str__(self) -> str:
s = f'QtWebEngine {self.webengine}'
if self.chromium is not None:
diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py
index 879f84a1f..5e122a805 100644
--- a/tests/unit/utils/test_version.py
+++ b/tests/unit/utils/test_version.py
@@ -926,6 +926,25 @@ class TestWebEngineVersions:
def test_str(self, version, expected):
assert str(version) == expected
+ @pytest.mark.parametrize('version, expected', [
+ (
+ version.WebEngineVersions(
+ webengine=utils.VersionNumber(5, 15, 2),
+ chromium=None,
+ source='test'),
+ None,
+ ),
+ (
+ version.WebEngineVersions(
+ webengine=utils.VersionNumber(5, 15, 2),
+ chromium='87.0.4280.144',
+ source='test'),
+ 87,
+ ),
+ ])
+ def test_chromium_major(self, version, expected):
+ assert version.chromium_major == expected
+
def test_from_ua(self):
ua = websettings.UserAgent(
os_info='X11; Linux x86_64',