diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc index 64f9e50f60186..d97a8a461ffcb 100644 --- components/embedder_support/user_agent_utils.cc +++ components/embedder_support/user_agent_utils.cc @@ -21,6 +21,7 @@ #include "base/version.h" #include "build/branding_buildflags.h" #include "build/build_config.h" +#include "cef/libcef/features/features.h" #include "components/embedder_support/pref_names.h" #include "components/embedder_support/switches.h" #include "components/policy/core/common/policy_pref_names.h" @@ -38,6 +39,10 @@ #include "base/win/windows_version.h" #endif // BUILDFLAG(IS_WIN) +#if BUILDFLAG(ENABLE_CEF) +constexpr char kUserAgentProductAndVersion[] = "user-agent-product"; +#endif + namespace embedder_support { namespace { @@ -299,6 +304,13 @@ blink::UserAgentBrandList ShuffleBrandList( std::string GetProductAndVersion( UserAgentReductionEnterprisePolicyState user_agent_reduction) { +#if BUILDFLAG(ENABLE_CEF) + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (command_line->HasSwitch(kUserAgentProductAndVersion)) { + return command_line->GetSwitchValueASCII(kUserAgentProductAndVersion); + } +#endif + return ShouldReduceUserAgentMinorVersion(user_agent_reduction) ? version_info::GetProductNameAndVersionForReducedUserAgent( blink::features::kUserAgentFrozenBuildVersion.Get())