summaryrefslogtreecommitdiff
path: root/qutebrowser/qt/webkit.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/qt/webkit.py')
-rw-r--r--qutebrowser/qt/webkit.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/qutebrowser/qt/webkit.py b/qutebrowser/qt/webkit.py
index 17516d96c..bb37e1dc9 100644
--- a/qutebrowser/qt/webkit.py
+++ b/qutebrowser/qt/webkit.py
@@ -13,6 +13,7 @@ Any API exported from this module is based on the QtWebKit 5.212 API:
https://qtwebkit.github.io/doc/qtwebkit/qtwebkit-index.html
"""
+import typing
from qutebrowser.qt import machinery
machinery.init_implicit()
@@ -20,7 +21,12 @@ machinery.init_implicit()
if machinery.USE_PYSIDE6: # pylint: disable=no-else-raise
raise machinery.Unavailable()
-elif machinery.USE_PYQT5:
+elif machinery.USE_PYQT5 or typing.TYPE_CHECKING:
+ # If we use mypy (even on Qt 6), we pretend to have WebKit available.
+ # This avoids central API (like BrowserTab) being Any because the webkit part of
+ # the unions there is missing.
+ # This causes various issues inside browser/webkit/, but we ignore those in
+ # .mypy.ini because we don't really care much about QtWebKit anymore.
from PyQt5.QtWebKit import *
elif machinery.USE_PYQT6:
raise machinery.Unavailable()