Bug 1369319 - Part2: Add a test case to verify that device sensor events have been blocked when 'privacy.resistFingerprinting' is true. r?bz,arthuredelstein draft
authorTim Huang <tihuang@mozilla.com>
Tue, 20 Jun 2017 14:51:52 +0800
changeset 600614 34d67d08051bb868b59d73d12c14bf1a300585e4
parent 600613 13c78a04352dbb6841bff338f6e3769c6e2b4a0e
child 635035 0d52caf37487ff09760a2ee5076066be4eabd556
push id65805
push userbmo:tihuang@mozilla.com
push dateTue, 27 Jun 2017 16:26:06 +0000
reviewersbz, arthuredelstein
bugs1369319
milestone56.0a1
Bug 1369319 - Part2: Add a test case to verify that device sensor events have been blocked when 'privacy.resistFingerprinting' is true. r?bz,arthuredelstein MozReview-Commit-ID: 5hw5S56zDfE
browser/components/resistfingerprinting/test/mochitest/mochitest.ini
browser/components/resistfingerprinting/test/mochitest/test_device_sensor_event.html
--- a/browser/components/resistfingerprinting/test/mochitest/mochitest.ini
+++ b/browser/components/resistfingerprinting/test/mochitest/mochitest.ini
@@ -1,6 +1,8 @@
 [DEFAULT]
+tags = resistfingerprinting
 support-files =
   worker_child.js
   worker_grandchild.js
 
+[test_device_sensor_event.html]
 [test_reduce_time_precision.html]
new file mode 100644
--- /dev/null
+++ b/browser/components/resistfingerprinting/test/mochitest/test_device_sensor_event.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1369319
+-->
+<head>
+  <meta charset="utf-8">
+  <title>Test for Bug 1369319</title>
+  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+  <script type="application/javascript;version=1.7">
+
+  /** Test for Bug 1369319 **/
+  SimpleTest.waitForExplicitFinish();
+  window.onload = () => {
+    SimpleTest.waitForFocus(() => {
+      SpecialPowers.pushPrefEnv({"set":
+        [
+          ["device.sensors.test.events", true],
+          ["privacy.resistFingerprinting", true]
+        ]
+      }, doTest);
+    }, window);
+  }
+
+  function doTest() {
+    window.addEventListener("devicemotion", () => {
+      ok(false, "The device motion event should not be fired.")
+    }, {once: true});
+
+    window.addEventListener("TestEvent", () => {
+      // If we receive this event without receiving a 'devicemotion' event, this means
+      // the device sensor event has been blocked correctly.
+      ok(true, "Got the 'TestEvent' event.");
+      SimpleTest.finish();
+    }, {once: true});
+
+    window.dispatchEvent(new CustomEvent("TestEvent"));
+  }
+  </script>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=">Mozilla Bug </a>
+<p id="display"></p>
+<div id="content" style="display: none">
+
+</div>
+<pre id="test"></pre>
+</body>
+</html>