summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/workers/WorkerNavigator_userAgentData.https.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/workers/WorkerNavigator_userAgentData.https.html')
-rw-r--r--testing/web-platform/tests/workers/WorkerNavigator_userAgentData.https.html48
1 files changed, 48 insertions, 0 deletions
diff --git a/testing/web-platform/tests/workers/WorkerNavigator_userAgentData.https.html b/testing/web-platform/tests/workers/WorkerNavigator_userAgentData.https.html
new file mode 100644
index 0000000000..8c22d8f867
--- /dev/null
+++ b/testing/web-platform/tests/workers/WorkerNavigator_userAgentData.https.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title> WorkerNavigator.userAgentData </title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+
+ promise_test(async () => {
+ const e = await new Promise((resolve, reject) => {
+ const worker = new Worker("./support/WorkerNavigator.js");
+ worker.onmessage = resolve;
+ });
+
+ assert_equals(e.data.brands.length, navigator.userAgentData.brands.length);
+ for (let i = 0; i < e.data.brands.length; ++i) {
+ const workerUA = e.data.brands[i];
+ const windowUA = navigator.userAgentData.brands[i];
+ assert_equals(workerUA.brand, windowUA.brand);
+ assert_equals(workerUA.version, windowUA.version);
+ }
+ assert_equals(e.data.mobile, navigator.userAgentData.mobile);
+ assert_equals(e.data.platform, navigator.userAgentData.platform);
+ const highEntropyValues = await navigator.userAgentData.getHighEntropyValues([
+ "architecture", "bitness", "fullVersionList", "model",
+ "platformVersion", "uaFullVersion", "wow64", "formFactor",
+ ]);
+
+ assert_equals(e.data.fullVersionList.length,
+ highEntropyValues.fullVersionList.length);
+ for (let i = 0; i < e.data.fullVersionList.length; ++i) {
+ const workerFV = e.data.fullVersionList[i];
+ const windowFV = highEntropyValues.fullVersionList[i];
+ assert_equals(workerFV.brand, windowFV.brand);
+ assert_equals(workerFV.version, windowFV.version);
+ }
+
+ assert_equals(e.data.architecture, highEntropyValues.architecture);
+ assert_equals(e.data.bitness, highEntropyValues.bitness);
+ assert_equals(e.data.model, highEntropyValues.model);
+ assert_equals(e.data.platformVersion, highEntropyValues.platformVersion);
+ assert_equals(e.data.uaFullVersion, highEntropyValues.uaFullVersion);
+ assert_equals(e.data.wow64, highEntropyValues.wow64);
+ assert_equals(e.data.formFactor.join(','), highEntropyValues.formFactor.join(','));
+ assert_equals(e.data.NavigatorUADataExposed, true);
+
+ // Architecture should be one of two permitted values.
+ assert_true(["x86", "arm"].some(arch => arch == e.data.architecture))
+ }, "Test that userAgentData is available in workers in secure contexts");
+</script>