diff options
author | Florian Bruhin <me@the-compiler.org> | 2021-03-12 09:36:28 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2021-03-12 09:36:28 +0100 |
commit | e833ee301b0bb96f4a9df28e2605bf4afbc1cca1 (patch) | |
tree | d86e21783f63717ca2a7aac4f8b635f3f4d9ed5f | |
parent | 5a1b148e772ae432f7b4bb8e4f125ce5ce6060ba (diff) | |
download | qutebrowser-e833ee301b0bb96f4a9df28e2605bf4afbc1cca1.tar.gz qutebrowser-e833ee301b0bb96f4a9df28e2605bf4afbc1cca1.zip |
Add WebEngineVersions.chromium_major
-rw-r--r-- | qutebrowser/browser/webengine/darkmode.py | 3 | ||||
-rw-r--r-- | qutebrowser/utils/version.py | 10 | ||||
-rw-r--r-- | tests/unit/utils/test_version.py | 19 |
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', |