diff --git chrome/browser/ui/webui/about/about_ui.cc chrome/browser/ui/webui/about/about_ui.cc index 63e740fe81847..ea422ae7bbda4 100644 --- chrome/browser/ui/webui/about/about_ui.cc +++ chrome/browser/ui/webui/about/about_ui.cc @@ -92,6 +92,10 @@ #include "chrome/common/webui_url_constants.h" #endif // BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(ENABLE_CEF) +#include "cef/grit/cef_resources.h" +#endif + using content::BrowserThread; namespace { @@ -624,6 +628,11 @@ ChromeURLsUIConfig::ChromeURLsUIConfig() CreditsUIConfig::CreditsUIConfig() : AboutUIConfigBase(chrome::kChromeUICreditsHost) {} +#if BUILDFLAG(ENABLE_CEF) +ChromeUILicenseConfig::ChromeUILicenseConfig() + : AboutUIConfigBase(chrome::kChromeUILicenseHost) {} +#endif + #if !BUILDFLAG(IS_ANDROID) TermsUIConfig::TermsUIConfig() : AboutUIConfigBase(chrome::kChromeUITermsHost) {} @@ -725,6 +734,16 @@ void AboutUIHTMLSource::StartDataRequest( IDS_TERMS_HTML); #endif } +#if BUILDFLAG(ENABLE_CEF) + else if (source_name_ == chrome::kChromeUILicenseHost) { + response = + "CEF License" + "
" +
+        ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(
+            IDR_CEF_LICENSE_TXT) +
+        "
"; + } +#endif FinishDataRequest(response, std::move(callback)); } diff --git chrome/browser/ui/webui/about/about_ui.h chrome/browser/ui/webui/about/about_ui.h index 6548d519c3da9..645163f69f822 100644 --- chrome/browser/ui/webui/about/about_ui.h +++ chrome/browser/ui/webui/about/about_ui.h @@ -11,6 +11,7 @@ #include "base/memory/raw_ptr.h" #include "build/build_config.h" +#include "cef/libcef/features/features.h" #include "content/public/browser/url_data_source.h" #include "content/public/browser/web_ui_controller.h" #include "content/public/browser/webui_config.h" @@ -42,6 +43,13 @@ class CreditsUIConfig : public AboutUIConfigBase { CreditsUIConfig(); }; +#if BUILDFLAG(ENABLE_CEF) +class ChromeUILicenseConfig : public AboutUIConfigBase { + public: + ChromeUILicenseConfig(); +}; +#endif + #if !BUILDFLAG(IS_ANDROID) // chrome://terms class TermsUIConfig : public AboutUIConfigBase { diff --git chrome/browser/ui/webui/chrome_web_ui_configs.cc chrome/browser/ui/webui/chrome_web_ui_configs.cc index b56981733057e..20386be211feb 100644 --- chrome/browser/ui/webui/chrome_web_ui_configs.cc +++ chrome/browser/ui/webui/chrome_web_ui_configs.cc @@ -6,6 +6,7 @@ #include "build/build_config.h" #include "build/chromeos_buildflags.h" +#include "cef/libcef/features/features.h" #include "chrome/browser/ui/webui/about/about_ui.h" #include "chrome/browser/ui/webui/accessibility/accessibility_ui.h" #include "chrome/browser/ui/webui/autofill_and_password_manager_internals/autofill_internals_ui.h" @@ -97,6 +98,9 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); +#if BUILDFLAG(ENABLE_CEF) + map.AddWebUIConfig(std::make_unique()); +#endif map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); diff --git chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc index 743fd86a35a10..48b0488d8f56a 100644 --- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc @@ -18,6 +18,7 @@ #include "build/branding_buildflags.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" +#include "cef/libcef/features/features.h" #include "chrome/browser/about_flags.h" #include "chrome/browser/buildflags.h" #include "chrome/browser/commerce/shopping_service_factory.h" @@ -927,6 +928,9 @@ ChromeWebUIControllerFactory::GetListOfAcceptableURLs() { GURL(chrome::kChromeUIGpuURL), GURL(chrome::kChromeUIHistogramsURL), GURL(chrome::kChromeUIInspectURL), +#if BUILDFLAG(ENABLE_CEF) + GURL(chrome::kChromeUILicenseURL), +#endif GURL(chrome::kChromeUIManagementURL), GURL(chrome::kChromeUINetExportURL), GURL(chrome::kChromeUIPrefsInternalsURL), diff --git chrome/common/webui_url_constants.cc chrome/common/webui_url_constants.cc index 248b6795e8cbe..c957f9d55613d 100644 --- chrome/common/webui_url_constants.cc +++ chrome/common/webui_url_constants.cc @@ -99,6 +99,9 @@ base::span ChromeURLHosts() { kChromeUIHistoryHost, history_clusters_internals::kChromeUIHistoryClustersInternalsHost, kChromeUIInterstitialHost, +#if BUILDFLAG(ENABLE_CEF) + kChromeUILicenseHost, +#endif kChromeUILocalStateHost, #if !BUILDFLAG(IS_ANDROID) kChromeUIManagementHost, diff --git chrome/common/webui_url_constants.h chrome/common/webui_url_constants.h index d1a8dc8342177..8d3226adca3c4 100644 --- chrome/common/webui_url_constants.h +++ chrome/common/webui_url_constants.h @@ -18,6 +18,7 @@ #include "build/branding_buildflags.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" +#include "cef/libcef/features/features.h" #include "chrome/common/buildflags.h" #include "components/lens/buildflags.h" #include "components/signin/public/base/signin_buildflags.h" @@ -160,6 +161,10 @@ inline constexpr char kChromeUILauncherInternalsURL[] = inline constexpr char kChromeUILensSearchBubbleHost[] = "lens-search-bubble"; inline constexpr char kChromeUILensSearchBubbleURL[] = "chrome://lens-search-bubble/"; +#if BUILDFLAG(ENABLE_CEF) +inline constexpr char kChromeUILicenseHost[] = "license"; +inline constexpr char kChromeUILicenseURL[] = "chrome://license/"; +#endif inline constexpr char kChromeUILocalStateHost[] = "local-state"; inline constexpr char kChromeUILocationInternalsHost[] = "location-internals"; inline constexpr char kChromeUIManagementHost[] = "management";