From e2006208ec3d5e091455eb4436de3dabe3550816 Mon Sep 17 00:00:00 2001 From: Szabolcs David Date: Fri, 18 Nov 2022 14:48:04 +0100 Subject: Fix fragment navigations on custom URL schemes Don't try to resolve Path syntax custom schemes as authority based schemes. Task-number: QTBUG-102058 Change-Id: I673158f35e30e40f725c9cabb7b32b0babcfdfd9 Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/444185 Reviewed-by: Allan Sandfeld Jensen --- chromium/url/url_util.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium/url/url_util.cc b/chromium/url/url_util.cc index e985d3049a7..829200b4679 100644 --- a/chromium/url/url_util.cc +++ b/chromium/url/url_util.cc @@ -344,8 +344,11 @@ bool DoResolveRelative(const char* base_spec, // The effect is to allow, for example, GURL("qrc:foo").Resolve("bar") to // return "qrc:bar" instead of just erroring out. base::StringPiece scheme_piece(&base_spec[base_parsed.scheme.begin], base_parsed.scheme.len); - if (CustomScheme::FindScheme(scheme_piece)) + if (const CustomScheme* scheme = CustomScheme::FindScheme(scheme_piece)) { base_is_hierarchical = true; + if (scheme->type == SCHEME_WITHOUT_AUTHORITY) + base_is_authority_based = false; + } } SchemeType unused_scheme_type = SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION; -- cgit v1.2.1