diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/frame/navigator_ua_data.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/frame/navigator_ua_data.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/chromium/third_party/blink/renderer/core/frame/navigator_ua_data.cc index a696f0c804a..aad450b37ff 100644 --- a/chromium/third_party/blink/renderer/core/frame/navigator_ua_data.cc +++ b/chromium/third_party/blink/renderer/core/frame/navigator_ua_data.cc @@ -84,6 +84,10 @@ void NavigatorUAData::SetUAFullVersion(const String& ua_full_version) { ua_full_version_ = ua_full_version; } +void NavigatorUAData::SetBitness(const String& bitness) { + bitness_ = bitness; +} + bool NavigatorUAData::mobile() const { if (GetExecutionContext()) { return is_mobile_; @@ -99,6 +103,13 @@ const HeapVector<Member<NavigatorUABrandVersion>>& NavigatorUAData::brands() return empty_brand_set_; } +const String& NavigatorUAData::platform() const { + if (GetExecutionContext()) { + return platform_; + } + return WTF::g_empty_string; +} + ScriptPromise NavigatorUAData::getHighEntropyValues( ScriptState* script_state, Vector<String>& hints) const { @@ -113,6 +124,8 @@ ScriptPromise NavigatorUAData::getHighEntropyValues( IdentifiableSurface::Type::kNavigatorUAData_GetHighEntropyValues); UADataValues* values = MakeGarbageCollected<UADataValues>(); for (const String& hint : hints) { + values->setBrands(brand_set_); + values->setMobile(is_mobile_); if (hint == "platform") { values->setPlatform(platform_); MaybeRecordMetric(record_identifiability, hint, platform_, @@ -133,6 +146,10 @@ ScriptPromise NavigatorUAData::getHighEntropyValues( values->setUaFullVersion(ua_full_version_); MaybeRecordMetric(record_identifiability, hint, ua_full_version_, execution_context); + } else if (hint == "bitness") { + values->setBitness(bitness_); + MaybeRecordMetric(record_identifiability, hint, bitness_, + execution_context); } } @@ -146,6 +163,13 @@ ScriptPromise NavigatorUAData::getHighEntropyValues( return promise; } +ScriptValue NavigatorUAData::toJSON(ScriptState* script_state) const { + V8ObjectBuilder builder(script_state); + builder.Add("brands", brands()); + builder.Add("mobile", mobile()); + return builder.GetScriptValue(); +} + void NavigatorUAData::Trace(Visitor* visitor) const { visitor->Trace(brand_set_); visitor->Trace(empty_brand_set_); |