From: uazo Date: Wed, 16 Feb 2022 14:28:58 +0000 Subject: Disable UA full version getHighEntropyValues will return only the major version Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../renderer/core/frame/navigator_ua_data.cc | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_party/blink/renderer/core/frame/navigator_ua_data.cc --- a/third_party/blink/renderer/core/frame/navigator_ua_data.cc +++ b/third_party/blink/renderer/core/frame/navigator_ua_data.cc @@ -7,6 +7,9 @@ #include "base/compiler_specific.h" #include "base/task/single_thread_task_runner.h" #include "third_party/blink/public/common/features.h" +#include "base/version.h" +#include "base/strings/strcat.h" +#include "base/strings/string_number_conversions.h" #include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-blink.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/core/v8/v8_ua_data_values.h" @@ -16,6 +19,20 @@ namespace blink { +namespace { + +const String GetReducedVersionNumber(const std::string& fullVersion) { + base::Version version(fullVersion); + std::string version_str; + const std::vector& components = version.components(); + if (components.size() > 0) { + version_str = base::StrCat({base::NumberToString(components[0]), ".0.0.0"}); + } + return String::FromUtf8(version_str); +} + +} + NavigatorUAData::NavigatorUAData(ExecutionContext* context) : ExecutionContextClient(context) { NavigatorUABrandVersion* dict = NavigatorUABrandVersion::Create(); @@ -52,7 +69,7 @@ void NavigatorUAData::SetFullVersionList( const UserAgentBrandList& full_version_list) { for (const auto& brand_version : full_version_list) { AddBrandFullVersion(String::FromUtf8(brand_version.brand), - String::FromUtf8(brand_version.version)); + GetReducedVersionNumber(brand_version.version)); } } @@ -74,7 +91,7 @@ void NavigatorUAData::SetModel(const String& model) { } void NavigatorUAData::SetUAFullVersion(const String& ua_full_version) { - ua_full_version_ = ua_full_version; + ua_full_version_ = GetReducedVersionNumber(ua_full_version.Ascii()); } void NavigatorUAData::SetBitness(const String& bitness) { --