diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-04-14 13:35:19 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-04-19 20:00:12 +0000 |
commit | c772c8c0745c925818926420844543d25a073c8e (patch) | |
tree | 15d2cc67de6d23c5592ee17e62af9c0eb0ef3698 /src | |
parent | b5834447f319a43d1bf143c9d2d96d6fcb6dbea9 (diff) |
Report server directs in navigation type
A server redirect might not have been reflected in the navigation type
at this point, so also check the is_redirect value.
Fixes: QTBUG-92819
Change-Id: I711ef041de69552bc3485c9cf3db68c9e6033d6a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
(cherry picked from commit b29b245fcb9db741d14180ea7e8dcb3ad2d4f49a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/content_browser_client_qt.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp index da1ea8dde..76f94c61f 100644 --- a/src/core/content_browser_client_qt.cpp +++ b/src/core/content_browser_client_qt.cpp @@ -1005,7 +1005,13 @@ static bool navigationThrottleCallback(content::WebContents *source, WebContentsViewQt::from(static_cast<content::WebContentsImpl *>(source)->GetView())->client(); if (!client) return false; - client->navigationRequested(pageTransitionToNavigationType(params.transition_type()), + + // Redirects might not be reflected in transition_type at this point (see also chrome/.../web_navigation_api_helpers.cc) + auto transition_type = params.transition_type(); + if (params.is_redirect()) + transition_type = ui::PageTransitionFromInt(transition_type | ui::PAGE_TRANSITION_SERVER_REDIRECT); + + client->navigationRequested(pageTransitionToNavigationType(transition_type), toQt(params.url()), navigationRequestAction, params.is_main_frame()); |