summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/frame/navigator_ua_data.cc
diff options
context:
space:
mode:
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.cc24
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_);