diff options
-rw-r--r-- | doc/changelog.asciidoc | 4 | ||||
-rw-r--r-- | misc/requirements/requirements-check-manifest.txt | 2 | ||||
-rw-r--r-- | misc/requirements/requirements-dev.txt | 8 | ||||
-rw-r--r-- | misc/requirements/requirements-mypy.txt | 6 | ||||
-rw-r--r-- | misc/requirements/requirements-pylint.txt | 6 | ||||
-rw-r--r-- | misc/requirements/requirements-pyroma.txt | 6 | ||||
-rw-r--r-- | misc/requirements/requirements-sphinx.txt | 4 | ||||
-rw-r--r-- | misc/requirements/requirements-tests.txt | 8 | ||||
-rw-r--r-- | qutebrowser/browser/downloadview.py | 1 | ||||
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 13 | ||||
-rw-r--r-- | requirements.txt | 4 | ||||
-rw-r--r-- | tests/end2end/fixtures/quteprocess.py | 3 | ||||
-rw-r--r-- | tests/unit/utils/test_version.py | 10 |
13 files changed, 50 insertions, 25 deletions
diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index 461693700..557e5cfbb 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -34,6 +34,10 @@ Fixed works correctly when using `wayland-egl` rather than `wayland` as Qt platform. - Worked around a weird `TypeError` with `QProxyStyle` / `TabBarStyle` on certain platforms with Python 3.12. +- Removed 1px border for the downloads view, mostly noticeable when it's + transparent. +- Due to a Qt bug, cloning/undoing a tab which was not fully loaded caused + qutebrowser to crash. This is now fixed via a workaround. - Upgraded the bundled Qt version to 6.5.3. Note this is only relevant for the macOS/Windows releases, on Linux those will be upgraded via your distribution packages. This Qt patch release comes with diff --git a/misc/requirements/requirements-check-manifest.txt b/misc/requirements/requirements-check-manifest.txt index fd8e314be..f39b3bb27 100644 --- a/misc/requirements/requirements-check-manifest.txt +++ b/misc/requirements/requirements-check-manifest.txt @@ -6,4 +6,4 @@ importlib-metadata==6.8.0 packaging==23.1 pyproject_hooks==1.0.0 tomli==2.0.1 -zipp==3.16.2 +zipp==3.17.0 diff --git a/misc/requirements/requirements-dev.txt b/misc/requirements/requirements-dev.txt index 3ed88d588..1547a0da5 100644 --- a/misc/requirements/requirements-dev.txt +++ b/misc/requirements/requirements-dev.txt @@ -5,13 +5,13 @@ bump2version==1.0.1 certifi==2023.7.22 cffi==1.15.1 charset-normalizer==3.2.0 -cryptography==41.0.3 +cryptography==41.0.4 docutils==0.20.1 github3.py==4.0.1 hunter==3.6.1 idna==3.4 importlib-metadata==6.8.0 -importlib-resources==6.0.1 +importlib-resources==6.1.0 jaraco.classes==3.3.0 jeepney==0.8.0 keyring==24.2.0 @@ -42,5 +42,5 @@ tomli==2.0.1 twine==4.0.2 typing_extensions==4.8.0 uritemplate==4.1.1 -# urllib3==2.0.4 -zipp==3.16.2 +# urllib3==2.0.5 +zipp==3.17.0 diff --git a/misc/requirements/requirements-mypy.txt b/misc/requirements/requirements-mypy.txt index 3e0f8918e..72f5ae5dc 100644 --- a/misc/requirements/requirements-mypy.txt +++ b/misc/requirements/requirements-mypy.txt @@ -2,7 +2,7 @@ chardet==5.2.0 diff-cover==7.7.0 -importlib-resources==6.0.1 +importlib-resources==6.1.0 Jinja2==3.1.2 lxml==4.9.3 MarkupSafe==2.1.3 @@ -15,7 +15,7 @@ tomli==2.0.1 types-colorama==0.4.15.12 types-docutils==0.20.0.3 types-Pygments==2.16.0.0 -types-PyYAML==6.0.12.11 +types-PyYAML==6.0.12.12 types-setuptools==68.2.0.0 typing_extensions==4.8.0 -zipp==3.16.2 +zipp==3.17.0 diff --git a/misc/requirements/requirements-pylint.txt b/misc/requirements/requirements-pylint.txt index d2ed9e4a0..f5241bc60 100644 --- a/misc/requirements/requirements-pylint.txt +++ b/misc/requirements/requirements-pylint.txt @@ -1,10 +1,10 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -astroid==2.15.6 +astroid==2.15.7 certifi==2023.7.22 cffi==1.15.1 charset-normalizer==3.2.0 -cryptography==41.0.3 +cryptography==41.0.4 dill==0.3.7 github3.py==4.0.1 idna==3.4 @@ -24,5 +24,5 @@ tomli==2.0.1 tomlkit==0.12.1 typing_extensions==4.8.0 uritemplate==4.1.1 -# urllib3==2.0.4 +# urllib3==2.0.5 wrapt==1.15.0 diff --git a/misc/requirements/requirements-pyroma.txt b/misc/requirements/requirements-pyroma.txt index ba65ace11..c4f6033ba 100644 --- a/misc/requirements/requirements-pyroma.txt +++ b/misc/requirements/requirements-pyroma.txt @@ -12,6 +12,6 @@ pyproject_hooks==1.0.0 pyroma==4.2 requests==2.31.0 tomli==2.0.1 -trove-classifiers==2023.8.7 -urllib3==2.0.4 -zipp==3.16.2 +trove-classifiers==2023.9.19 +urllib3==2.0.5 +zipp==3.17.0 diff --git a/misc/requirements/requirements-sphinx.txt b/misc/requirements/requirements-sphinx.txt index 77158cace..8480018ca 100644 --- a/misc/requirements/requirements-sphinx.txt +++ b/misc/requirements/requirements-sphinx.txt @@ -22,5 +22,5 @@ sphinxcontrib-htmlhelp==2.0.1 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 -urllib3==2.0.4 -zipp==3.16.2 +urllib3==2.0.5 +zipp==3.17.0 diff --git a/misc/requirements/requirements-tests.txt b/misc/requirements/requirements-tests.txt index 116c4c1df..08da32093 100644 --- a/misc/requirements/requirements-tests.txt +++ b/misc/requirements/requirements-tests.txt @@ -13,7 +13,7 @@ execnet==2.0.2 filelock==3.12.4 Flask==2.3.3 hunter==3.6.1 -hypothesis==6.86.1 +hypothesis==6.87.0 idna==3.4 importlib-metadata==6.8.0 iniconfig==2.0.0 @@ -47,11 +47,11 @@ requests-file==1.5.1 six==1.16.0 sortedcontainers==2.4.0 soupsieve==2.5 -tldextract==3.5.0 +tldextract==3.6.0 toml==0.10.2 tomli==2.0.1 typing_extensions==4.8.0 -urllib3==2.0.4 +urllib3==2.0.5 vulture==2.9.1 Werkzeug==2.3.7 -zipp==3.16.2 +zipp==3.17.0 diff --git a/qutebrowser/browser/downloadview.py b/qutebrowser/browser/downloadview.py index 33e69284d..4b6a8b2c8 100644 --- a/qutebrowser/browser/downloadview.py +++ b/qutebrowser/browser/downloadview.py @@ -35,6 +35,7 @@ class DownloadView(QListView): QListView { background-color: {{ conf.colors.downloads.bar.bg }}; font: {{ conf.fonts.downloads }}; + border: 0; } QListView::item { diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 938e100ff..9f1d04b63 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -5,6 +5,7 @@ """Wrapper over a QWebEngineView.""" import math +import struct import functools import dataclasses import re @@ -12,7 +13,7 @@ import html as html_utils from typing import cast, Union, Optional from qutebrowser.qt.core import (pyqtSignal, pyqtSlot, Qt, QPoint, QPointF, QTimer, QUrl, - QObject) + QObject, QByteArray) from qutebrowser.qt.network import QAuthenticator from qutebrowser.qt.webenginewidgets import QWebEngineView from qutebrowser.qt.webenginecore import QWebEnginePage, QWebEngineScript, QWebEngineHistory @@ -612,8 +613,16 @@ class WebEngineHistoryPrivate(browsertab.AbstractHistoryPrivate): self._tab = tab self._history = cast(QWebEngineHistory, None) + def _serialize_data(self, stream_version, count, current_index): + return struct.pack(">IIi", stream_version, count, current_index) + def serialize(self): - return qtutils.serialize(self._history) + data = qtutils.serialize(self._history) + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-117489 + if data == self._serialize_data(stream_version=4, count=1, current_index=0): + fixed = self._serialize_data(stream_version=4, count=0, current_index=-1) + return QByteArray(fixed) + return data def deserialize(self, data): qtutils.deserialize(data, self._history) diff --git a/requirements.txt b/requirements.txt index 01f6236c7..dc07bf531 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,12 +2,12 @@ adblock==0.6.0 colorama==0.4.6 -importlib-resources==6.0.1 ; python_version=="3.8.*" +importlib-resources==6.1.0 ; python_version=="3.8.*" Jinja2==3.1.2 MarkupSafe==2.1.3 Pygments==2.16.1 PyYAML==6.0.1 -zipp==3.16.2 +zipp==3.17.0 # Unpinned due to recompile_requirements.py limitations pyobjc-core ; sys_platform=="darwin" pyobjc-framework-Cocoa ; sys_platform=="darwin" diff --git a/tests/end2end/fixtures/quteprocess.py b/tests/end2end/fixtures/quteprocess.py index 9a093bba8..a2f870e32 100644 --- a/tests/end2end/fixtures/quteprocess.py +++ b/tests/end2end/fixtures/quteprocess.py @@ -66,7 +66,8 @@ def is_ignored_lowlevel_message(message): ( 'libva error: vaGetDriverNameByIndex() failed with unknown libva error, ' 'driver_name = (null)' - ) + ), + 'libva error: vaGetDriverNames() failed with unknown libva error', ] return any(testutils.pattern_match(pattern=pattern, value=message) for pattern in ignored_messages) diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py index 486270d70..586e86e54 100644 --- a/tests/unit/utils/test_version.py +++ b/tests/unit/utils/test_version.py @@ -989,6 +989,16 @@ class TestWebEngineVersions: def test_real_chromium_version(self, qapp): """Compare the inferred Chromium version with the real one.""" + try: + from qutebrowser.qt.webenginecore import ( + qWebEngineVersion, + qWebEngineChromiumVersion, + ) + except ImportError: + pass + else: + pytest.skip("API available to get the real version") + pyqt_webengine_version = version._get_pyqt_webengine_qt_version() if pyqt_webengine_version is None: if '.dev' in PYQT_VERSION_STR: |