summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy <jimmy@spalge.com>2022-04-30 14:48:41 +1200
committerJimmy <jimmy@spalge.com>2022-04-30 19:30:49 +1200
commitddf40ac903244b4f54617f5a37afd544248686c8 (patch)
tree69c53f2da844cbf7c19507042660d4d31d1d117d
parent477941fa9bdab278a4d459b8b9f2d819a8ffb1ca (diff)
downloadqutebrowser-ddf40ac903244b4f54617f5a37afd544248686c8.tar.gz
qutebrowser-ddf40ac903244b4f54617f5a37afd544248686c8.zip
lint: reduce line lengths for long dict defines
Running darker over the pyqt reference renames (see previous commit) worked pretty well. Unfortnately we ran into https://github.com/psf/black/issues/620 a lot with dicts with long attributes. Things that used to be manually wrapped like: some_map = { quote_long_attribute_name: also_long_value, } get turned into: some_map = { quote_long_attribute_name: also_long_value, } which is quite often over 88 chars with Qt enum values in the map. I've manually added aliases and such for the Qt enums and classes to shorted the lines. This is likely to conflict entirely with the enum scoped changes on the qt6 branches.
-rw-r--r--qutebrowser/browser/webengine/interceptor.py44
-rw-r--r--qutebrowser/browser/webengine/webengineinspector.py5
-rw-r--r--qutebrowser/browser/webengine/webenginequtescheme.py24
-rw-r--r--qutebrowser/browser/webengine/webenginesettings.py83
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py46
-rw-r--r--qutebrowser/browser/webengine/webview.py51
-rw-r--r--qutebrowser/browser/webkit/network/webkitqutescheme.py11
-rw-r--r--qutebrowser/browser/webkit/webpage.py19
-rw-r--r--qutebrowser/misc/earlyinit.py3
-rw-r--r--tests/unit/utils/test_qtutils.py4
10 files changed, 159 insertions, 131 deletions
diff --git a/qutebrowser/browser/webengine/interceptor.py b/qutebrowser/browser/webengine/interceptor.py
index 7f24eebd4..ad99f1eef 100644
--- a/qutebrowser/browser/webengine/interceptor.py
+++ b/qutebrowser/browser/webengine/interceptor.py
@@ -67,37 +67,39 @@ class RequestInterceptor(QtWebEngineCore.QWebEngineUrlRequestInterceptor):
def __init__(self, parent=None):
super().__init__(parent)
+ req_info = QtWebEngineCore.QWebEngineUrlRequestInfo
+ resource_type = interceptors.ResourceType
# This dict should be from QWebEngine Resource Types to qutebrowser
# extension ResourceTypes. If a ResourceType is added to Qt, this table
# should be updated too.
self._resource_types = {
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeMainFrame: interceptors.ResourceType.main_frame,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeSubFrame: interceptors.ResourceType.sub_frame,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeStylesheet: interceptors.ResourceType.stylesheet,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeScript: interceptors.ResourceType.script,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeImage: interceptors.ResourceType.image,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeFontResource: interceptors.ResourceType.font_resource,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeSubResource: interceptors.ResourceType.sub_resource,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeObject: interceptors.ResourceType.object,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeMedia: interceptors.ResourceType.media,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeWorker: interceptors.ResourceType.worker,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeSharedWorker: interceptors.ResourceType.shared_worker,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypePrefetch: interceptors.ResourceType.prefetch,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeFavicon: interceptors.ResourceType.favicon,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeXhr: interceptors.ResourceType.xhr,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypePing: interceptors.ResourceType.ping,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeServiceWorker: interceptors.ResourceType.service_worker,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeCspReport: interceptors.ResourceType.csp_report,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypePluginResource: interceptors.ResourceType.plugin_resource,
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeUnknown: interceptors.ResourceType.unknown,
+ req_info.ResourceTypeMainFrame: resource_type.main_frame,
+ req_info.ResourceTypeSubFrame: resource_type.sub_frame,
+ req_info.ResourceTypeStylesheet: resource_type.stylesheet,
+ req_info.ResourceTypeScript: resource_type.script,
+ req_info.ResourceTypeImage: resource_type.image,
+ req_info.ResourceTypeFontResource: resource_type.font_resource,
+ req_info.ResourceTypeSubResource: resource_type.sub_resource,
+ req_info.ResourceTypeObject: resource_type.object,
+ req_info.ResourceTypeMedia: resource_type.media,
+ req_info.ResourceTypeWorker: resource_type.worker,
+ req_info.ResourceTypeSharedWorker: resource_type.shared_worker,
+ req_info.ResourceTypePrefetch: resource_type.prefetch,
+ req_info.ResourceTypeFavicon: resource_type.favicon,
+ req_info.ResourceTypeXhr: resource_type.xhr,
+ req_info.ResourceTypePing: resource_type.ping,
+ req_info.ResourceTypeServiceWorker: resource_type.service_worker,
+ req_info.ResourceTypeCspReport: resource_type.csp_report,
+ req_info.ResourceTypePluginResource: resource_type.plugin_resource,
+ req_info.ResourceTypeUnknown: resource_type.unknown,
}
try:
preload_main_frame = (
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeNavigationPreloadMainFrame
+ req_info.ResourceTypeNavigationPreloadMainFrame
)
preload_sub_frame = (
- QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceTypeNavigationPreloadSubFrame
+ req_info.ResourceTypeNavigationPreloadSubFrame
)
except AttributeError:
# Added in Qt 5.14
diff --git a/qutebrowser/browser/webengine/webengineinspector.py b/qutebrowser/browser/webengine/webengineinspector.py
index 4cdd564d8..3361ef19b 100644
--- a/qutebrowser/browser/webengine/webengineinspector.py
+++ b/qutebrowser/browser/webengine/webengineinspector.py
@@ -100,7 +100,10 @@ class WebEngineInspector(inspector.AbstractWebInspector):
"please install the qt5-qtwebengine-devtools "
"Fedora package.")
- def inspect(self, page: QtWebEngineWidgets.QWebEnginePage) -> None: # type: ignore[override]
+ def inspect(
+ self,
+ page: QtWebEngineWidgets.QWebEnginePage,
+ ) -> None: # type: ignore[override]
inspector_page = self._widget.page()
inspector_page.setInspectedPage(page)
self._settings.update_for_url(inspector_page.requestedUrl())
diff --git a/qutebrowser/browser/webengine/webenginequtescheme.py b/qutebrowser/browser/webengine/webenginequtescheme.py
index 8e15dd1ad..4fbbb1c55 100644
--- a/qutebrowser/browser/webengine/webenginequtescheme.py
+++ b/qutebrowser/browser/webengine/webenginequtescheme.py
@@ -92,12 +92,13 @@ class QuteSchemeHandler(QtWebEngineCore.QWebEngineUrlSchemeHandler):
try:
mimetype, data = qutescheme.data_for_url(url)
except qutescheme.Error as e:
+ url_request_job = QtWebEngineCore.QWebEngineUrlRequestJob
errors = {
- qutescheme.NotFoundError: QtWebEngineCore.QWebEngineUrlRequestJob.UrlNotFound,
- qutescheme.UrlInvalidError: QtWebEngineCore.QWebEngineUrlRequestJob.UrlInvalid,
- qutescheme.RequestDeniedError: QtWebEngineCore.QWebEngineUrlRequestJob.RequestDenied,
- qutescheme.SchemeOSError: QtWebEngineCore.QWebEngineUrlRequestJob.UrlNotFound,
- qutescheme.Error: QtWebEngineCore.QWebEngineUrlRequestJob.RequestFailed,
+ qutescheme.NotFoundError: url_request_job.UrlNotFound,
+ qutescheme.UrlInvalidError: url_request_job.UrlInvalid,
+ qutescheme.RequestDeniedError: url_request_job.RequestDenied,
+ qutescheme.SchemeOSError: url_request_job.UrlNotFound,
+ qutescheme.Error: url_request_job.RequestFailed,
}
exctype = type(e)
log.network.error(f"{exctype.__name__} while handling qute://* URL: {e}")
@@ -125,11 +126,12 @@ def init():
Note this needs to be called early, before constructing any QtWebEngine
classes.
"""
- if QtWebEngineCore.QWebEngineUrlScheme is not None:
- assert not QtWebEngineCore.QWebEngineUrlScheme.schemeByName(b'qute').name()
- scheme = QtWebEngineCore.QWebEngineUrlScheme(b'qute')
+ url_scheme = QtWebEngineCore.QWebEngineUrlScheme
+ if url_scheme is not None:
+ assert not url_scheme.schemeByName(b'qute').name()
+ scheme = url_scheme(b'qute')
scheme.setFlags(
- QtWebEngineCore.QWebEngineUrlScheme.LocalScheme
- | QtWebEngineCore.QWebEngineUrlScheme.LocalAccessAllowed # type: ignore[arg-type]
+ url_scheme.LocalScheme
+ | url_scheme.LocalAccessAllowed # type: ignore[arg-type]
)
- QtWebEngineCore.QWebEngineUrlScheme.registerScheme(scheme)
+ url_scheme.registerScheme(scheme)
diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py
index ca544a67e..4eb4ce091 100644
--- a/qutebrowser/browser/webengine/webenginesettings.py
+++ b/qutebrowser/browser/webengine/webenginesettings.py
@@ -40,6 +40,10 @@ from qutebrowser.utils import (standarddir, qtutils, message, log,
if TYPE_CHECKING:
from qutebrowser.browser.webengine import interceptor
+
+QWebEngineSettings = QtWebEngineWidgets.QWebEngineSettings
+
+
# The default QWebEngineProfile
default_profile = cast(QtWebEngineWidgets.QWebEngineProfile, None)
# The QWebEngineProfile used for private (off-the-record) windows
@@ -108,93 +112,96 @@ class WebEngineSettings(websettings.AbstractSettings):
_ATTRIBUTES = {
'content.xss_auditing': Attr(
- QtWebEngineWidgets.QWebEngineSettings.XSSAuditingEnabled
+ QWebEngineSettings.XSSAuditingEnabled
),
- 'content.images': Attr(QtWebEngineWidgets.QWebEngineSettings.AutoLoadImages),
+ 'content.images': Attr(QWebEngineSettings.AutoLoadImages),
'content.javascript.enabled': Attr(
- QtWebEngineWidgets.QWebEngineSettings.JavascriptEnabled
+ QWebEngineSettings.JavascriptEnabled
),
'content.javascript.can_open_tabs_automatically': Attr(
- QtWebEngineWidgets.QWebEngineSettings.JavascriptCanOpenWindows
+ QWebEngineSettings.JavascriptCanOpenWindows
),
'content.javascript.can_access_clipboard': Attr(
- QtWebEngineWidgets.QWebEngineSettings.JavascriptCanAccessClipboard
+ QWebEngineSettings.JavascriptCanAccessClipboard
),
- 'content.plugins': Attr(QtWebEngineWidgets.QWebEngineSettings.PluginsEnabled),
+ 'content.plugins': Attr(QWebEngineSettings.PluginsEnabled),
'content.hyperlink_auditing': Attr(
- QtWebEngineWidgets.QWebEngineSettings.HyperlinkAuditingEnabled
+ QWebEngineSettings.HyperlinkAuditingEnabled
),
'content.local_content_can_access_remote_urls': Attr(
- QtWebEngineWidgets.QWebEngineSettings.LocalContentCanAccessRemoteUrls
+ QWebEngineSettings.LocalContentCanAccessRemoteUrls
),
'content.local_content_can_access_file_urls': Attr(
- QtWebEngineWidgets.QWebEngineSettings.LocalContentCanAccessFileUrls
+ QWebEngineSettings.LocalContentCanAccessFileUrls
),
- 'content.webgl': Attr(QtWebEngineWidgets.QWebEngineSettings.WebGLEnabled),
+ 'content.webgl': Attr(QWebEngineSettings.WebGLEnabled),
'content.local_storage': Attr(
- QtWebEngineWidgets.QWebEngineSettings.LocalStorageEnabled
+ QWebEngineSettings.LocalStorageEnabled
),
'content.desktop_capture': Attr(
- QtWebEngineWidgets.QWebEngineSettings.ScreenCaptureEnabled,
+ QWebEngineSettings.ScreenCaptureEnabled,
converter=lambda val: True if val == 'ask' else val,
),
# 'ask' is handled via the permission system
'input.spatial_navigation': Attr(
- QtWebEngineWidgets.QWebEngineSettings.SpatialNavigationEnabled
+ QWebEngineSettings.SpatialNavigationEnabled
),
'input.links_included_in_focus_chain': Attr(
- QtWebEngineWidgets.QWebEngineSettings.LinksIncludedInFocusChain
+ QWebEngineSettings.LinksIncludedInFocusChain
),
'scrolling.smooth': Attr(
- QtWebEngineWidgets.QWebEngineSettings.ScrollAnimatorEnabled
+ QWebEngineSettings.ScrollAnimatorEnabled
),
'content.print_element_backgrounds': Attr(
- QtWebEngineWidgets.QWebEngineSettings.PrintElementBackgrounds
+ QWebEngineSettings.PrintElementBackgrounds
),
'content.autoplay': Attr(
- QtWebEngineWidgets.QWebEngineSettings.PlaybackRequiresUserGesture,
+ QWebEngineSettings.PlaybackRequiresUserGesture,
converter=operator.not_,
),
'content.dns_prefetch': Attr(
- QtWebEngineWidgets.QWebEngineSettings.DnsPrefetchEnabled
+ QWebEngineSettings.DnsPrefetchEnabled
),
'tabs.favicons.show': Attr(
- QtWebEngineWidgets.QWebEngineSettings.AutoLoadIconsForPage,
+ QWebEngineSettings.AutoLoadIconsForPage,
converter=lambda val: val != 'never',
),
}
_FONT_SIZES = {
- 'fonts.web.size.minimum': QtWebEngineWidgets.QWebEngineSettings.MinimumFontSize,
- 'fonts.web.size.minimum_logical': QtWebEngineWidgets.QWebEngineSettings.MinimumLogicalFontSize,
- 'fonts.web.size.default': QtWebEngineWidgets.QWebEngineSettings.DefaultFontSize,
- 'fonts.web.size.default_fixed': QtWebEngineWidgets.QWebEngineSettings.DefaultFixedFontSize,
+ 'fonts.web.size.minimum': QWebEngineSettings.MinimumFontSize,
+ 'fonts.web.size.minimum_logical': QWebEngineSettings.MinimumLogicalFontSize,
+ 'fonts.web.size.default': QWebEngineSettings.DefaultFontSize,
+ 'fonts.web.size.default_fixed': QWebEngineSettings.DefaultFixedFontSize,
}
_FONT_FAMILIES = {
- 'fonts.web.family.standard': QtWebEngineWidgets.QWebEngineSettings.StandardFont,
- 'fonts.web.family.fixed': QtWebEngineWidgets.QWebEngineSettings.FixedFont,
- 'fonts.web.family.serif': QtWebEngineWidgets.QWebEngineSettings.SerifFont,
- 'fonts.web.family.sans_serif': QtWebEngineWidgets.QWebEngineSettings.SansSerifFont,
- 'fonts.web.family.cursive': QtWebEngineWidgets.QWebEngineSettings.CursiveFont,
- 'fonts.web.family.fantasy': QtWebEngineWidgets.QWebEngineSettings.FantasyFont,
+ 'fonts.web.family.standard': QWebEngineSettings.StandardFont,
+ 'fonts.web.family.fixed': QWebEngineSettings.FixedFont,
+ 'fonts.web.family.serif': QWebEngineSettings.SerifFont,
+ 'fonts.web.family.sans_serif': QWebEngineSettings.SansSerifFont,
+ 'fonts.web.family.cursive': QWebEngineSettings.CursiveFont,
+ 'fonts.web.family.fantasy': QWebEngineSettings.FantasyFont,
}
_UNKNOWN_URL_SCHEME_POLICY = {
- 'disallow': QtWebEngineWidgets.QWebEngineSettings.DisallowUnknownUrlSchemes,
- 'allow-from-user-interaction': QtWebEngineWidgets.QWebEngineSettings.AllowUnknownUrlSchemesFromUserInteraction,
- 'allow-all': QtWebEngineWidgets.QWebEngineSettings.AllowAllUnknownUrlSchemes,
+ 'disallow': QWebEngineSettings.DisallowUnknownUrlSchemes,
+ 'allow-from-user-interaction': getattr( # noqa: B009
+ QWebEngineSettings,
+ "AllowUnknownUrlSchemesFromUserInteraction",
+ ),
+ 'allow-all': QWebEngineSettings.AllowAllUnknownUrlSchemes,
}
# Mapping from WebEngineSettings::initDefaults in
# qtwebengine/src/core/web_engine_settings.cpp
_FONT_TO_QFONT = {
- QtWebEngineWidgets.QWebEngineSettings.StandardFont: QtGui.QFont.Serif,
- QtWebEngineWidgets.QWebEngineSettings.FixedFont: QtGui.QFont.Monospace,
- QtWebEngineWidgets.QWebEngineSettings.SerifFont: QtGui.QFont.Serif,
- QtWebEngineWidgets.QWebEngineSettings.SansSerifFont: QtGui.QFont.SansSerif,
- QtWebEngineWidgets.QWebEngineSettings.CursiveFont: QtGui.QFont.Cursive,
- QtWebEngineWidgets.QWebEngineSettings.FantasyFont: QtGui.QFont.Fantasy,
+ QWebEngineSettings.StandardFont: QtGui.QFont.Serif,
+ QWebEngineSettings.FixedFont: QtGui.QFont.Monospace,
+ QWebEngineSettings.SerifFont: QtGui.QFont.Serif,
+ QWebEngineSettings.SansSerifFont: QtGui.QFont.SansSerif,
+ QWebEngineSettings.CursiveFont: QtGui.QFont.Cursive,
+ QWebEngineSettings.FantasyFont: QtGui.QFont.Fantasy,
}
def set_unknown_url_scheme_policy(
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index fa8d9288f..8e9e51e5d 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -39,6 +39,9 @@ from qutebrowser.qt import QtCore, sip
from qutebrowser.misc import objects, miscwidgets
+QWebEnginePage = QtWebEngineWidgets.QWebEnginePage
+
+
# Mapping worlds from usertypes.JsWorld to QWebEngineScript world IDs.
_JS_WORLD_MAP = {
usertypes.JsWorld.main: QtWebEngineWidgets.QWebEngineScript.MainWorld,
@@ -191,7 +194,9 @@ class WebEngineSearch(browsertab.AbstractSearch):
self._wrap_handler = _WebEngineSearchWrapHandler()
def _empty_flags(self):
- return QtWebEngineWidgets.QWebEnginePage.FindFlags(0) # type: ignore[call-overload]
+ return QtWebEngineWidgets.QWebEnginePage.FindFlags(
+ 0
+ ) # type: ignore[call-overload]
def _args_to_flags(self, reverse, ignore_case):
flags = self._empty_flags()
@@ -874,24 +879,24 @@ class _WebEnginePermissions(QtCore.QObject):
_options = {
0: 'content.notifications.enabled',
- QtWebEngineWidgets.QWebEnginePage.Geolocation: 'content.geolocation',
- QtWebEngineWidgets.QWebEnginePage.MediaAudioCapture: 'content.media.audio_capture',
- QtWebEngineWidgets.QWebEnginePage.MediaVideoCapture: 'content.media.video_capture',
- QtWebEngineWidgets.QWebEnginePage.MediaAudioVideoCapture: 'content.media.audio_video_capture',
- QtWebEngineWidgets.QWebEnginePage.MouseLock: 'content.mouse_lock',
- QtWebEngineWidgets.QWebEnginePage.DesktopVideoCapture: 'content.desktop_capture',
- QtWebEngineWidgets.QWebEnginePage.DesktopAudioVideoCapture: 'content.desktop_capture',
+ QWebEnginePage.Geolocation: 'content.geolocation',
+ QWebEnginePage.MediaAudioCapture: 'content.media.audio_capture',
+ QWebEnginePage.MediaVideoCapture: 'content.media.video_capture',
+ QWebEnginePage.MediaAudioVideoCapture: 'content.media.audio_video_capture',
+ QWebEnginePage.MouseLock: 'content.mouse_lock',
+ QWebEnginePage.DesktopVideoCapture: 'content.desktop_capture',
+ QWebEnginePage.DesktopAudioVideoCapture: 'content.desktop_capture',
}
_messages = {
0: 'show notifications',
- QtWebEngineWidgets.QWebEnginePage.Geolocation: 'access your location',
- QtWebEngineWidgets.QWebEnginePage.MediaAudioCapture: 'record audio',
- QtWebEngineWidgets.QWebEnginePage.MediaVideoCapture: 'record video',
- QtWebEngineWidgets.QWebEnginePage.MediaAudioVideoCapture: 'record audio/video',
- QtWebEngineWidgets.QWebEnginePage.MouseLock: 'hide your mouse pointer',
- QtWebEngineWidgets.QWebEnginePage.DesktopVideoCapture: 'capture your desktop',
- QtWebEngineWidgets.QWebEnginePage.DesktopAudioVideoCapture: 'capture your desktop and audio',
+ QWebEnginePage.Geolocation: 'access your location',
+ QWebEnginePage.MediaAudioCapture: 'record audio',
+ QWebEnginePage.MediaVideoCapture: 'record video',
+ QWebEnginePage.MediaAudioVideoCapture: 'record audio/video',
+ QWebEnginePage.MouseLock: 'hide your mouse pointer',
+ QWebEnginePage.DesktopVideoCapture: 'capture your desktop',
+ QWebEnginePage.DesktopAudioVideoCapture: 'capture your desktop and audio',
}
def __init__(self, tab, parent=None):
@@ -1536,12 +1541,13 @@ class WebEngineTab(browsertab.AbstractTab):
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-58697
status = QtWebEngineWidgets.QWebEnginePage.CrashedTerminationStatus
+ term_status = browsertab.TerminationStatus
status_map = {
- QtWebEngineWidgets.QWebEnginePage.NormalTerminationStatus: browsertab.TerminationStatus.normal,
- QtWebEngineWidgets.QWebEnginePage.AbnormalTerminationStatus: browsertab.TerminationStatus.abnormal,
- QtWebEngineWidgets.QWebEnginePage.CrashedTerminationStatus: browsertab.TerminationStatus.crashed,
- QtWebEngineWidgets.QWebEnginePage.KilledTerminationStatus: browsertab.TerminationStatus.killed,
- -1: browsertab.TerminationStatus.unknown,
+ QWebEnginePage.NormalTerminationStatus: term_status.normal,
+ QWebEnginePage.AbnormalTerminationStatus: term_status.abnormal,
+ QWebEnginePage.CrashedTerminationStatus: term_status.crashed,
+ QWebEnginePage.KilledTerminationStatus: term_status.killed,
+ -1: term_status.unknown,
}
self.renderer_process_terminated.emit(status_map[status], exitcode)
diff --git a/qutebrowser/browser/webengine/webview.py b/qutebrowser/browser/webengine/webview.py
index f6e266523..fdcbb224d 100644
--- a/qutebrowser/browser/webengine/webview.py
+++ b/qutebrowser/browser/webengine/webview.py
@@ -29,9 +29,12 @@ from qutebrowser.utils import log, debug, usertypes
from qutebrowser.qt import QtCore
+QWebEnginePage = QtWebEngineWidgets.QWebEnginePage
+
+
_QB_FILESELECTION_MODES = {
- QtWebEngineWidgets.QWebEnginePage.FileSelectOpen: shared.FileSelectionMode.single_file,
- QtWebEngineWidgets.QWebEnginePage.FileSelectOpenMultiple: shared.FileSelectionMode.multiple_files,
+ QWebEnginePage.FileSelectOpen: shared.FileSelectionMode.single_file,
+ QWebEnginePage.FileSelectOpenMultiple: shared.FileSelectionMode.multiple_files,
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-91489
#
# QtWebEngine doesn't expose this value from its internal
@@ -39,7 +42,7 @@ _QB_FILESELECTION_MODES = {
# the public QWebEnginePage::FileSelectionMode enum).
# However, QWebEnginePage::chooseFiles is still called with the matching value
# (2) when a file input with "webkitdirectory" is used.
- QtWebEngineWidgets.QWebEnginePage.FileSelectionMode(
+ QWebEnginePage.FileSelectionMode(
2
): shared.FileSelectionMode.folder,
}
@@ -97,27 +100,27 @@ class WebEngineView(QtWebEngineWidgets.QWebEngineView):
Return:
The new QWebEngineView object.
"""
- debug_type = debug.qenum_key(QtWebEngineWidgets.QWebEnginePage, wintype)
+ debug_type = debug.qenum_key(QWebEnginePage, wintype)
background = config.val.tabs.background
log.webview.debug("createWindow with type {}, background {}".format(
debug_type, background))
- if wintype == QtWebEngineWidgets.QWebEnginePage.WebBrowserWindow:
+ if wintype == QWebEnginePage.WebBrowserWindow:
# Shift-Alt-Click
target = usertypes.ClickTarget.window
- elif wintype == QtWebEngineWidgets.QWebEnginePage.WebDialog:
+ elif wintype == QWebEnginePage.WebDialog:
log.webview.warning("{} requested, but we don't support "
"that!".format(debug_type))
target = usertypes.ClickTarget.tab
- elif wintype == QtWebEngineWidgets.QWebEnginePage.WebBrowserTab:
+ elif wintype == QWebEnginePage.WebBrowserTab:
# Middle-click / Ctrl-Click with Shift
# FIXME:qtwebengine this also affects target=_blank links...
if background:
target = usertypes.ClickTarget.tab
else:
target = usertypes.ClickTarget.tab_bg
- elif wintype == QtWebEngineWidgets.QWebEnginePage.WebBrowserBackgroundTab:
+ elif wintype == QWebEnginePage.WebBrowserBackgroundTab:
# Middle-click / Ctrl-Click
if background:
target = usertypes.ClickTarget.tab_bg
@@ -137,7 +140,7 @@ class WebEngineView(QtWebEngineWidgets.QWebEngineView):
super().contextMenuEvent(ev)
-class WebEnginePage(QtWebEngineWidgets.QWebEnginePage):
+class WebEnginePage(QWebEnginePage):
"""Custom QWebEnginePage subclass with qutebrowser-specific features.
@@ -214,46 +217,46 @@ class WebEnginePage(QtWebEngineWidgets.QWebEnginePage):
def javaScriptConsoleMessage(self, level, msg, line, source):
"""Log javascript messages to qutebrowser's log."""
level_map = {
- QtWebEngineWidgets.QWebEnginePage.InfoMessageLevel: usertypes.JsLogLevel.info,
- QtWebEngineWidgets.QWebEnginePage.WarningMessageLevel: usertypes.JsLogLevel.warning,
- QtWebEngineWidgets.QWebEnginePage.ErrorMessageLevel: usertypes.JsLogLevel.error,
+ QWebEnginePage.InfoMessageLevel: usertypes.JsLogLevel.info,
+ QWebEnginePage.WarningMessageLevel: usertypes.JsLogLevel.warning,
+ QWebEnginePage.ErrorMessageLevel: usertypes.JsLogLevel.error,
}
shared.javascript_log_message(level_map[level], source, line, msg)
def acceptNavigationRequest(
self,
url: QtCore.QUrl,
- typ: QtWebEngineWidgets.QWebEnginePage.NavigationType,
+ typ: QWebEnginePage.NavigationType,
is_main_frame: bool,
) -> bool:
"""Override acceptNavigationRequest to forward it to the tab API."""
+ nav_request_type = usertypes.NavigationRequest.Type
type_map = {
- QtWebEngineWidgets.QWebEnginePage.NavigationTypeLinkClicked: usertypes.NavigationRequest.Type.link_clicked,
- QtWebEngineWidgets.QWebEnginePage.NavigationTypeTyped: usertypes.NavigationRequest.Type.typed,
- QtWebEngineWidgets.QWebEnginePage.NavigationTypeFormSubmitted: usertypes.NavigationRequest.Type.form_submitted,
- QtWebEngineWidgets.QWebEnginePage.NavigationTypeBackForward: usertypes.NavigationRequest.Type.back_forward,
- QtWebEngineWidgets.QWebEnginePage.NavigationTypeReload: usertypes.NavigationRequest.Type.reloaded,
- QtWebEngineWidgets.QWebEnginePage.NavigationTypeOther: usertypes.NavigationRequest.Type.other,
+ QWebEnginePage.NavigationTypeLinkClicked: nav_request_type.link_clicked,
+ QWebEnginePage.NavigationTypeTyped: nav_request_type.typed,
+ QWebEnginePage.NavigationTypeFormSubmitted: nav_request_type.form_submitted,
+ QWebEnginePage.NavigationTypeBackForward: nav_request_type.back_forward,
+ QWebEnginePage.NavigationTypeReload: nav_request_type.reloaded,
+ QWebEnginePage.NavigationTypeOther: nav_request_type.other,
}
try:
type_map[
- QtWebEngineWidgets.QWebEnginePage.NavigationTypeRedirect
- ] = usertypes.NavigationRequest.Type.redirect
+ QWebEnginePage.NavigationTypeRedirect
+ ] = nav_request_type.redirect
except AttributeError:
# Added in Qt 5.14
pass
navigation = usertypes.NavigationRequest(
url=url,
- navigation_type=type_map.get(
- typ, usertypes.NavigationRequest.Type.other),
+ navigation_type=type_map.get(typ, nav_request_type.other),
is_main_frame=is_main_frame)
self.navigation_request.emit(navigation)
return navigation.accepted
def chooseFiles(
self,
- mode: QtWebEngineWidgets.QWebEnginePage.FileSelectionMode,
+ mode: QWebEnginePage.FileSelectionMode,
old_files: Iterable[str],
accepted_mimetypes: Iterable[str],
) -> List[str]:
diff --git a/qutebrowser/browser/webkit/network/webkitqutescheme.py b/qutebrowser/browser/webkit/network/webkitqutescheme.py
index cbd0baa18..fa9678ea7 100644
--- a/qutebrowser/browser/webkit/network/webkitqutescheme.py
+++ b/qutebrowser/browser/webkit/network/webkitqutescheme.py
@@ -61,12 +61,13 @@ def handler(request, operation, current_url):
try:
mimetype, data = qutescheme.data_for_url(url)
except qutescheme.Error as e:
+ qnet_reply = QtNetwork.QNetworkReply
errors = {
- qutescheme.NotFoundError: QtNetwork.QNetworkReply.ContentNotFoundError,
- qutescheme.UrlInvalidError: QtNetwork.QNetworkReply.ContentOperationNotPermittedError,
- qutescheme.RequestDeniedError: QtNetwork.QNetworkReply.ContentAccessDenied,
- qutescheme.SchemeOSError: QtNetwork.QNetworkReply.ContentNotFoundError,
- qutescheme.Error: QtNetwork.QNetworkReply.InternalServerError,
+ qutescheme.NotFoundError: qnet_reply.ContentNotFoundError,
+ qutescheme.UrlInvalidError: qnet_reply.ContentOperationNotPermittedError,
+ qutescheme.RequestDeniedError: qnet_reply.ContentAccessDenied,
+ qutescheme.SchemeOSError: qnet_reply.ContentNotFoundError,
+ qutescheme.Error: qnet_reply.InternalServerError,
}
exctype = type(e)
log.misc.error("{} while handling qute://* URL".format(
diff --git a/qutebrowser/browser/webkit/webpage.py b/qutebrowser/browser/webkit/webpage.py
index 3c732a2dd..fd41c701e 100644
--- a/qutebrowser/browser/webkit/webpage.py
+++ b/qutebrowser/browser/webkit/webpage.py
@@ -61,9 +61,10 @@ class BrowserPage(QtWebKitWidgets.QWebPage):
self._win_id = win_id
self._tabdata = tabdata
self._is_shutting_down = False
+ webpage = QtWebKitWidgets.QWebPage
self._extension_handlers = {
- QtWebKitWidgets.QWebPage.ErrorPageExtension: self._handle_errorpage,
- QtWebKitWidgets.QWebPage.ChooseMultipleFilesExtension: self._handle_multiple_files,
+ webpage.ErrorPageExtension: self._handle_errorpage,
+ webpage.ChooseMultipleFilesExtension: self._handle_multiple_files,
}
self._ignore_load_started = False
self.error_occurred = False
@@ -523,13 +524,15 @@ class BrowserPage(QtWebKitWidgets.QWebPage):
Checks if it should open it in a tab (middle-click or control) or not,
and then conditionally opens the URL here or in another tab/window.
"""
+ webpage = QtWebKitWidgets.QWebPage
+ nav_request = usertypes.NavigationRequest
type_map = {
- QtWebKitWidgets.QWebPage.NavigationTypeLinkClicked: usertypes.NavigationRequest.Type.link_clicked,
- QtWebKitWidgets.QWebPage.NavigationTypeFormSubmitted: usertypes.NavigationRequest.Type.form_submitted,
- QtWebKitWidgets.QWebPage.NavigationTypeFormResubmitted: usertypes.NavigationRequest.Type.form_resubmitted,
- QtWebKitWidgets.QWebPage.NavigationTypeBackOrForward: usertypes.NavigationRequest.Type.back_forward,
- QtWebKitWidgets.QWebPage.NavigationTypeReload: usertypes.NavigationRequest.Type.reloaded,
- QtWebKitWidgets.QWebPage.NavigationTypeOther: usertypes.NavigationRequest.Type.other,
+ webpage.NavigationTypeLinkClicked: nav_request.Type.link_clicked,
+ webpage.NavigationTypeFormSubmitted: nav_request.Type.form_submitted,
+ webpage.NavigationTypeFormResubmitted: nav_request.Type.form_resubmitted,
+ webpage.NavigationTypeBackOrForward: nav_request.Type.back_forward,
+ webpage.NavigationTypeReload: nav_request.Type.reloaded,
+ webpage.NavigationTypeOther: nav_request.Type.other,
}
is_main_frame = frame is self.mainFrame()
navigation = usertypes.NavigationRequest(url=request.url(),
diff --git a/qutebrowser/misc/earlyinit.py b/qutebrowser/misc/earlyinit.py
index 7ebe2c69f..1b4360156 100644
--- a/qutebrowser/misc/earlyinit.py
+++ b/qutebrowser/misc/earlyinit.py
@@ -186,7 +186,8 @@ def check_qt_version():
from qutebrowser.qt import QtCore
try:
qt_ver = QtCore.QLibraryInfo.version().normalized()
- recent_qt_runtime = qt_ver >= QtCore.QVersionNumber(5, 12) # type: ignore[operator]
+ qt_512_ver = QtCore.QVersionNumber(5, 12)
+ recent_qt_runtime = qt_ver >= qt_512_ver # type: ignore[operator]
except (ImportError, AttributeError):
# QVersionNumber was added in Qt 5.6, QLibraryInfo.version() in 5.8
recent_qt_runtime = False
diff --git a/tests/unit/utils/test_qtutils.py b/tests/unit/utils/test_qtutils.py
index 84084de33..8a0071970 100644
--- a/tests/unit/utils/test_qtutils.py
+++ b/tests/unit/utils/test_qtutils.py
@@ -216,12 +216,12 @@ def test_ensure_valid(obj, raising, exc_reason, exc_str):
(
QtCore.QDataStream.ReadCorruptData,
True,
- "The data stream has read corrupt " "data.",
+ "The data stream has read corrupt data.",
),
(
QtCore.QDataStream.WriteFailed,
True,
- "The data stream cannot write to the " "underlying device.",
+ "The data stream cannot write to the underlying device.",
),
],
)