diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-03-22 17:44:13 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-05-10 08:58:28 +0000 |
commit | 0c2beb49b858f49489fa4f1ecee6bfdd6ce57e68 (patch) | |
tree | 2d296db45a6276ed7216adc52a1ce9113da71b63 /src/core | |
parent | 0eac492b5c66b1774118c387dd527ad419e51be7 (diff) |
Add navigation type for redirects
Fixes: QTBUG-74490
Change-Id: Ia8de7dbec717021f367133cebb8c118e333388e4
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/api/qwebengineurlrequestinfo.cpp | 2 | ||||
-rw-r--r-- | src/core/api/qwebengineurlrequestinfo.h | 3 | ||||
-rw-r--r-- | src/core/net/network_delegate_qt.cpp | 6 | ||||
-rw-r--r-- | src/core/web_contents_adapter_client.h | 3 |
4 files changed, 9 insertions, 5 deletions
diff --git a/src/core/api/qwebengineurlrequestinfo.cpp b/src/core/api/qwebengineurlrequestinfo.cpp index 3cbb4da17..5377bf0e0 100644 --- a/src/core/api/qwebengineurlrequestinfo.cpp +++ b/src/core/api/qwebengineurlrequestinfo.cpp @@ -74,6 +74,7 @@ ASSERT_ENUMS_MATCH(QtWebEngineCore::WebContentsAdapterClient::BackForwardNavigat QWebEngineUrlRequestInfo::NavigationTypeBackForward) ASSERT_ENUMS_MATCH(QtWebEngineCore::WebContentsAdapterClient::ReloadNavigation, QWebEngineUrlRequestInfo::NavigationTypeReload) ASSERT_ENUMS_MATCH(QtWebEngineCore::WebContentsAdapterClient::OtherNavigation, QWebEngineUrlRequestInfo::NavigationTypeOther) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebContentsAdapterClient::RedirectNavigation, QWebEngineUrlRequestInfo::NavigationTypeRedirect) /*! \class QWebEngineUrlRequestInfo @@ -210,6 +211,7 @@ QWebEngineUrlRequestInfo::ResourceType QWebEngineUrlRequestInfo::resourceType() \value NavigationTypeFormSubmitted Navigation submits a form. \value NavigationTypeBackForward Navigation initiated by a history action. \value NavigationTypeReload Navigation initiated by refreshing the page. + \value NavigationTypeRedirect Navigation triggered automatically by page content or remote server. \value NavigationTypeOther None of the above. */ diff --git a/src/core/api/qwebengineurlrequestinfo.h b/src/core/api/qwebengineurlrequestinfo.h index cf5a4801d..09b74bd60 100644 --- a/src/core/api/qwebengineurlrequestinfo.h +++ b/src/core/api/qwebengineurlrequestinfo.h @@ -88,7 +88,8 @@ public: NavigationTypeFormSubmitted, NavigationTypeBackForward, NavigationTypeReload, - NavigationTypeOther + NavigationTypeOther, + NavigationTypeRedirect, }; ResourceType resourceType() const; diff --git a/src/core/net/network_delegate_qt.cpp b/src/core/net/network_delegate_qt.cpp index 31da45314..e0e3a6c16 100644 --- a/src/core/net/network_delegate_qt.cpp +++ b/src/core/net/network_delegate_qt.cpp @@ -64,13 +64,13 @@ namespace QtWebEngineCore { WebContentsAdapterClient::NavigationType pageTransitionToNavigationType(ui::PageTransition transition) { + if (ui::PageTransitionIsRedirect(transition)) + return WebContentsAdapterClient::RedirectNavigation; + int32_t qualifier = ui::PageTransitionGetQualifier(transition); if (qualifier & ui::PAGE_TRANSITION_FORWARD_BACK) return WebContentsAdapterClient::BackForwardNavigation; - // FIXME: Make redirects a separate type: - if (qualifier & ui::PAGE_TRANSITION_CLIENT_REDIRECT) - return WebContentsAdapterClient::OtherNavigation; ui::PageTransition strippedTransition = ui::PageTransitionStripQualifier(transition); diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h index b388b28d0..7ba45aea8 100644 --- a/src/core/web_contents_adapter_client.h +++ b/src/core/web_contents_adapter_client.h @@ -381,7 +381,8 @@ public: FormSubmittedNavigation, BackForwardNavigation, ReloadNavigation, - OtherNavigation + OtherNavigation, + RedirectNavigation, }; enum JavaScriptConsoleMessageLevel { |