summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Kamat <jaygkamat@gmail.com>2019-06-08 15:48:35 -0700
committerFlorian Bruhin <me@the-compiler.org>2019-06-10 09:38:03 +0200
commit8379ce9c841d547828b4c1cd668574d77a450f32 (patch)
tree6688b01b6d832743785dbf14d32fd1d213abde52
parent7f7055deeba27a72dad66f0b0ad0a460d447ae7b (diff)
downloadqutebrowser-8379ce9c841d547828b4c1cd668574d77a450f32.tar.gz
qutebrowser-8379ce9c841d547828b4c1cd668574d77a450f32.zip
Fix crash on redirect on qt5.14
-rw-r--r--qutebrowser/browser/webengine/webview.py15
-rw-r--r--qutebrowser/utils/usertypes.py1
2 files changed, 13 insertions, 3 deletions
diff --git a/qutebrowser/browser/webengine/webview.py b/qutebrowser/browser/webengine/webview.py
index f808af592..811db1985 100644
--- a/qutebrowser/browser/webengine/webview.py
+++ b/qutebrowser/browser/webengine/webview.py
@@ -258,8 +258,17 @@ class WebEnginePage(QWebEnginePage):
QWebEnginePage.NavigationTypeOther:
usertypes.NavigationRequest.Type.other,
}
- navigation = usertypes.NavigationRequest(url=url,
- navigation_type=type_map[typ],
- is_main_frame=is_main_frame)
+ try:
+ # Only available in Qt 5.14
+ type_map[QWebEnginePage.NavigationTypeRedirect] = (
+ usertypes.NavigationRequest.Type.redirect)
+ except AttributeError:
+ pass
+
+ navigation = usertypes.NavigationRequest(
+ url=url,
+ navigation_type=type_map.get(
+ typ, usertypes.NavigationRequest.Type.other),
+ is_main_frame=is_main_frame)
self.navigation_request.emit(navigation)
return navigation.accepted
diff --git a/qutebrowser/utils/usertypes.py b/qutebrowser/utils/usertypes.py
index e559fff37..14090baf9 100644
--- a/qutebrowser/utils/usertypes.py
+++ b/qutebrowser/utils/usertypes.py
@@ -451,6 +451,7 @@ class NavigationRequest:
'form_resubmitted', # QtWebKit only
'back_forward',
'reloaded',
+ 'redirect', # QtWebEngine >5.14 only
'other'
])