summaryrefslogtreecommitdiffstats
path: root/browser/components/resistfingerprinting/test/browser/file_reduceTimePrecision_iframe_worker.sjs
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/resistfingerprinting/test/browser/file_reduceTimePrecision_iframe_worker.sjs')
-rw-r--r--browser/components/resistfingerprinting/test/browser/file_reduceTimePrecision_iframe_worker.sjs34
1 files changed, 34 insertions, 0 deletions
diff --git a/browser/components/resistfingerprinting/test/browser/file_reduceTimePrecision_iframe_worker.sjs b/browser/components/resistfingerprinting/test/browser/file_reduceTimePrecision_iframe_worker.sjs
new file mode 100644
index 0000000000..7791c05c06
--- /dev/null
+++ b/browser/components/resistfingerprinting/test/browser/file_reduceTimePrecision_iframe_worker.sjs
@@ -0,0 +1,34 @@
+"use strict";
+
+function handleRequest(request, response) {
+ response.setHeader("Content-Type", "application/javascript");
+
+ let content = `onconnect = function(e) {
+ let port = e.ports[0];
+
+ let navigatorObj = self.navigator;
+ let result = [];
+
+ // Known ways to generate time stamps, in milliseconds
+ const timeStampCodes = [
+ 'performance.now()',
+ 'new Date().getTime()',
+ 'new Event("").timeStamp',
+ 'new File([], "").lastModified',
+ ];
+
+ for (let timeStampCode of timeStampCodes) {
+ let timeStamp = eval(timeStampCode);
+
+ result.push({
+ 'name': 'worker ' + timeStampCode,
+ 'value': timeStamp
+ });
+ }
+
+ port.postMessage(result);
+ port.start();
+ };`;
+
+ response.write(content);
+}