diff options
-rw-r--r-- | qutebrowser/browser/webengine/webview.py | 15 | ||||
-rw-r--r-- | qutebrowser/utils/usertypes.py | 1 |
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' ]) |