diff options
Diffstat (limited to 'testing/web-platform/tests/workers/WorkerNavigator_userAgentData.https.html')
-rw-r--r-- | testing/web-platform/tests/workers/WorkerNavigator_userAgentData.https.html | 48 |
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> |