diff --git a/libcef/browser/alloy/alloy_content_browser_client.cc b/libcef/browser/alloy/alloy_content_browser_client.cc index 1cbf52f3e..dec3fe7a5 100644 --- a/libcef/browser/alloy/alloy_content_browser_client.cc +++ b/libcef/browser/alloy/alloy_content_browser_client.cc @@ -633,6 +633,7 @@ void AlloyContentBrowserClient::GetAdditionalAllowedSchemesForFileSystem( additional_allowed_schemes); additional_allowed_schemes->push_back(content::kChromeDevToolsScheme); additional_allowed_schemes->push_back(content::kChromeUIScheme); + additional_allowed_schemes->push_back(content::kChromeUIUntrustedScheme); } bool AlloyContentBrowserClient::IsWebUIAllowedToMakeNetworkRequests( diff --git a/libcef/browser/net/chrome_scheme_handler.cc b/libcef/browser/net/chrome_scheme_handler.cc index 3127d3de8..db61d74a0 100644 --- a/libcef/browser/net/chrome_scheme_handler.cc +++ b/libcef/browser/net/chrome_scheme_handler.cc @@ -530,8 +530,10 @@ class CefWebUIControllerFactory : public content::WebUIControllerFactory { // Returns true if WebUI is allowed to handle the specified |url|. static bool AllowWebUIForURL(const GURL& url) { - if (!url.SchemeIs(content::kChromeUIScheme)) + if (!url.SchemeIs(content::kChromeUIScheme) && + !url.SchemeIs(content::kChromeUIUntrustedScheme)) { return false; + } if (IsAllowedWebUIHost(url.host())) return true; diff --git a/libcef/common/alloy/alloy_main_delegate.cc b/libcef/common/alloy/alloy_main_delegate.cc index dfa353d78..b26337da3 100644 --- a/libcef/common/alloy/alloy_main_delegate.cc +++ b/libcef/common/alloy/alloy_main_delegate.cc @@ -38,6 +38,7 @@ #include "content/public/common/content_features.h" #include "content/public/common/content_switches.h" #include "content/public/common/main_function_params.h" +#include "content/public/common/url_constants.h" #include "extensions/common/constants.h" #include "net/base/features.h" #include "pdf/pdf_ppapi.h" @@ -60,7 +61,8 @@ namespace { const char* const kNonWildcardDomainNonPortSchemes[] = { - extensions::kExtensionScheme}; + extensions::kExtensionScheme, content::kChromeDevToolsScheme, + content::kChromeUIScheme, content::kChromeUIUntrustedScheme}; const size_t kNonWildcardDomainNonPortSchemesSize = base::size(kNonWildcardDomainNonPortSchemes); diff --git a/libcef/common/net/scheme_registration.cc b/libcef/common/net/scheme_registration.cc index f8ff779b5..b377b1a58 100644 --- a/libcef/common/net/scheme_registration.cc +++ b/libcef/common/net/scheme_registration.cc @@ -59,6 +59,7 @@ bool IsInternalHandledScheme(const std::string& scheme) { url::kBlobScheme, content::kChromeDevToolsScheme, content::kChromeUIScheme, + content::kChromeUIUntrustedScheme, url::kDataScheme, extensions::kExtensionScheme, url::kFileScheme,