summaryrefslogtreecommitdiffstats
path: root/browser/components/resistfingerprinting/test/browser/browser_block_mozAddonManager.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/resistfingerprinting/test/browser/browser_block_mozAddonManager.js')
-rw-r--r--browser/components/resistfingerprinting/test/browser/browser_block_mozAddonManager.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/browser/components/resistfingerprinting/test/browser/browser_block_mozAddonManager.js b/browser/components/resistfingerprinting/test/browser/browser_block_mozAddonManager.js
new file mode 100644
index 0000000000..e9f55ef667
--- /dev/null
+++ b/browser/components/resistfingerprinting/test/browser/browser_block_mozAddonManager.js
@@ -0,0 +1,43 @@
+/**
+ * Bug 1384330 - A test case for making sure the navigator.mozAddonManager will
+ * be blocked when pref 'privacy.resistFingerprinting.block_mozAddonManager' is true.
+ */
+
+const HTTPS_TEST_PATH =
+ "https://example.com/browser/browser/" +
+ "components/resistfingerprinting/test/browser/";
+
+add_task(async function test() {
+ await SpecialPowers.pushPrefEnv({
+ set: [["extensions.webapi.testing", true]],
+ });
+
+ for (let pref of [false, true]) {
+ await SpecialPowers.pushPrefEnv({
+ set: [["privacy.resistFingerprinting.block_mozAddonManager", pref]],
+ });
+
+ let tab = await BrowserTestUtils.openNewForegroundTab(
+ gBrowser,
+ HTTPS_TEST_PATH + "file_dummy.html"
+ );
+
+ await SpecialPowers.spawn(tab.linkedBrowser, [pref], function (aPref) {
+ if (aPref) {
+ is(
+ content.navigator.mozAddonManager,
+ undefined,
+ "The navigator.mozAddonManager should not exist when the pref is on."
+ );
+ } else {
+ ok(
+ content.navigator.mozAddonManager,
+ "The navigator.mozAddonManager should exist when the pref is off."
+ );
+ }
+ });
+
+ BrowserTestUtils.removeTab(tab);
+ await SpecialPowers.popPrefEnv();
+ }
+});