summaryrefslogtreecommitdiffstats
path: root/browser/components/resistfingerprinting/test/browser/browser_performanceAPIWorkers.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/resistfingerprinting/test/browser/browser_performanceAPIWorkers.js')
-rw-r--r--browser/components/resistfingerprinting/test/browser/browser_performanceAPIWorkers.js79
1 files changed, 79 insertions, 0 deletions
diff --git a/browser/components/resistfingerprinting/test/browser/browser_performanceAPIWorkers.js b/browser/components/resistfingerprinting/test/browser/browser_performanceAPIWorkers.js
new file mode 100644
index 0000000000..0abb38d532
--- /dev/null
+++ b/browser/components/resistfingerprinting/test/browser/browser_performanceAPIWorkers.js
@@ -0,0 +1,79 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// ================================================================================================
+// ================================================================================================
+let runWorkerTest = async function (data) {
+ let expectedPrecision = data.precision;
+ let workerCall = data.workerCall;
+ await new Promise(resolve => {
+ let worker = new content.Worker("file_workerPerformance.js");
+ worker.onmessage = function (e) {
+ if (e.data.type == "status") {
+ ok(e.data.status, e.data.msg);
+ } else if (e.data.type == "finish") {
+ worker.terminate();
+ resolve();
+ } else {
+ ok(false, "Unknown message type");
+ worker.terminate();
+ resolve();
+ }
+ };
+ worker.postMessage({ type: workerCall, precision: expectedPrecision });
+ });
+};
+
+add_task(async function runRFPestsForWorker() {
+ await setupPerformanceAPISpoofAndDisableTest(
+ true,
+ true,
+ false,
+ 100,
+ runWorkerTest,
+ "runTimerTests"
+ );
+ await setupPerformanceAPISpoofAndDisableTest(
+ true,
+ false,
+ false,
+ 13,
+ runWorkerTest,
+ "runTimerTests"
+ );
+ await setupPerformanceAPISpoofAndDisableTest(
+ true,
+ true,
+ false,
+ 0.13,
+ runWorkerTest,
+ "runTimerTests"
+ );
+});
+
+add_task(async function runRTPTestsForWorker() {
+ await setupPerformanceAPISpoofAndDisableTest(
+ false,
+ true,
+ false,
+ 100,
+ runWorkerTest,
+ "runTimerTests"
+ );
+ await setupPerformanceAPISpoofAndDisableTest(
+ false,
+ true,
+ false,
+ 13,
+ runWorkerTest,
+ "runTimerTests"
+ );
+ await setupPerformanceAPISpoofAndDisableTest(
+ false,
+ true,
+ false,
+ 0.13,
+ runWorkerTest,
+ "runTimerTests"
+ );
+});