diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc index fcae34aec8566..fb11c01bf9a3f 100644 --- a/components/embedder_support/user_agent_utils.cc +++ b/components/embedder_support/user_agent_utils.cc @@ -7,6 +7,8 @@ #include "base/command_line.h" #include "base/no_destructor.h" #include "base/strings/strcat.h" +#include "base/strings/stringprintf.h" +#include "base/system/sys_info.h" #include "build/branding_buildflags.h" #include "components/embedder_support/switches.h" #include "components/version_info/version_info.h" @@ -138,9 +140,6 @@ blink::UserAgentMetadata GetUserAgentMetadata() { metadata.brand_version_list = GetBrandVersionList(); metadata.full_version = version_info::GetVersionNumber(); metadata.platform = GetPlatformForUAMetadata(); - metadata.platform_version = - content::GetOSVersion(content::IncludeAndroidBuildNumber::Exclude, - content::IncludeAndroidModel::Exclude); metadata.architecture = content::GetLowEntropyCpuArchitecture(); metadata.model = content::BuildModelInfo(); @@ -150,6 +149,11 @@ blink::UserAgentMetadata GetUserAgentMetadata() { switches::kUseMobileUserAgent); #endif + int32_t major, minor, bugfix = 0; + base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &bugfix); + metadata.platform_version = + base::StringPrintf("%d.%d.%d", major, minor, bugfix); + return metadata; } diff --git a/components/embedder_support/user_agent_utils_unittest.cc b/components/embedder_support/user_agent_utils_unittest.cc index 1debab3ce7965..0e2176314834d 100644 --- a/components/embedder_support/user_agent_utils_unittest.cc +++ b/components/embedder_support/user_agent_utils_unittest.cc @@ -289,9 +289,11 @@ TEST(UserAgentUtilsTest, UserAgentMetadata) { EXPECT_TRUE(contains_product_brand_version); EXPECT_EQ(metadata.full_version, version_info::GetVersionNumber()); + + int32_t major, minor, bugfix = 0; + base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &bugfix); EXPECT_EQ(metadata.platform_version, - content::GetOSVersion(content::IncludeAndroidBuildNumber::Exclude, - content::IncludeAndroidModel::Exclude)); + base::StringPrintf("%d.%d.%d", major, minor, bugfix)); // This makes sure no extra information is added to the platform version. EXPECT_EQ(metadata.platform_version.find(";"), std::string::npos); // TODO(crbug.com/1103047): This can be removed/re-refactored once we use