diff --git a/base/system/sys_info_starboard.cc b/base/system/sys_info_starboard.cc index 3fea0a621ff..d5c1426a4a5 100644 --- a/base/system/sys_info_starboard.cc +++ b/base/system/sys_info_starboard.cc @@ -78,6 +78,11 @@ std::string SbSysInfo::Brand() { __system_property_get("ro.product.brand", brand_str); return std::string(brand_str); } + +std::string SbSysInfo::OSFriendlyName() { + return "AOSP"; +} + #elif BUILDFLAG(IS_STARBOARD) std::string SbSysInfo::OriginalDesignManufacturer() { return GetSystemPropertyString(kSbSystemPropertySystemIntegratorName); @@ -95,6 +100,10 @@ std::string SbSysInfo::Brand() { return GetSystemPropertyString(kSbSystemPropertyBrandName); } +std::string SbSysInfo::OSFriendlyName() { + return GetSystemPropertyString(kSbSystemPropertyFriendlyName); +} + #elif BUILDFLAG(IS_IOS_TVOS) std::string SbSysInfo::OriginalDesignManufacturer() { // Cobalt 25: https://github.com/youtube/cobalt/blob/62c2380b7eb0da5889a387c4b9be283656a8575d/starboard/shared/uikit/system_get_property.mm#L126 @@ -152,6 +161,11 @@ std::string SbSysInfo::Brand() { return "Apple"; } +std::string SbSysInfo::OSFriendlyName() { + NOTIMPLEMENTED(); + return "" +} + #endif // BUILDFLAG(IS_ANDROID) } // namespace starboard diff --git a/base/system/sys_info_starboard.h b/base/system/sys_info_starboard.h index 6f75bcaf21d..1691a411fe3 100644 --- a/base/system/sys_info_starboard.h +++ b/base/system/sys_info_starboard.h @@ -31,9 +31,11 @@ class BASE_EXPORT SbSysInfo { static std::string ModelYear(); static std::string Brand(); + + static std::string OSFriendlyName(); }; } // namespace starboard } // namespace base -#endif // BASE_SYSTEM_SYS_INFO_STARBOARD_H_ \ No newline at end of file +#endif // BASE_SYSTEM_SYS_INFO_STARBOARD_H_ diff --git a/base/system/sys_info_starboard_unittest.cc b/base/system/sys_info_starboard_unittest.cc index 46a672252b8..c548ed1b9db 100644 --- a/base/system/sys_info_starboard_unittest.cc +++ b/base/system/sys_info_starboard_unittest.cc @@ -22,7 +22,7 @@ namespace base { namespace starboard { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS_TVOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS_TVOS) || BUILDFLAG(IS_STARBOARD) using SbSysInfoTest = PlatformTest; @@ -46,6 +46,10 @@ TEST_F(SbSysInfoTest, Brand) { EXPECT_NE(brand_str, ""); } +TEST_F(SbSysInfoTest, OSFriendlyName) { + std::string os_name_str = SbSysInfo::OSFriendlyName(); + EXPECT_NE(os_name_str, ""); +} #endif } // namespace starboard diff --git a/cobalt/browser/user_agent/user_agent_platform_info.cc b/cobalt/browser/user_agent/user_agent_platform_info.cc index c1ae7f208d9..f2283b0fefa 100644 --- a/cobalt/browser/user_agent/user_agent_platform_info.cc +++ b/cobalt/browser/user_agent/user_agent_platform_info.cc @@ -190,7 +190,12 @@ void UserAgentPlatformInfo::InitializePlatformDependentFieldsAndroid() { } #elif BUILDFLAG(IS_STARBOARD) void UserAgentPlatformInfo::InitializePlatformDependentFieldsStarboard() { - const std::string os_name = base::SysInfo::OperatingSystemName(); + std::string os_name = base::SysInfo::OperatingSystemName(); + const std::string os_friendly_name = + base::starboard::SbSysInfo::OSFriendlyName(); + if (!os_friendly_name.empty()) { + os_name = os_friendly_name + "; " + os_name; + } const std::string os_version = base::SysInfo::OperatingSystemVersion(); set_os_name_and_version( base::StringPrintf("%s %s", os_name.c_str(), os_version.c_str()));