summaryrefslogtreecommitdiffstats
path: root/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots')
-rw-r--r--browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser.ini8
-rw-r--r--browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser_policy_disable_fxscreenshots.js35
-rw-r--r--browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/config_disable_fxscreenshots.json5
3 files changed, 48 insertions, 0 deletions
diff --git a/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser.ini b/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser.ini
new file mode 100644
index 0000000000..9c828828c0
--- /dev/null
+++ b/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser.ini
@@ -0,0 +1,8 @@
+[DEFAULT]
+prefs =
+ browser.policies.alternatePath='<test-root>/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/config_disable_fxscreenshots.json'
+ extensions.screenshots.disabled=false
+support-files =
+ config_disable_fxscreenshots.json
+
+[browser_policy_disable_fxscreenshots.js]
diff --git a/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser_policy_disable_fxscreenshots.js b/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser_policy_disable_fxscreenshots.js
new file mode 100644
index 0000000000..e2b9232aa3
--- /dev/null
+++ b/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser_policy_disable_fxscreenshots.js
@@ -0,0 +1,35 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const PREF_DISABLE_FX_SCREENSHOTS = "extensions.screenshots.disabled";
+
+async function checkScreenshots(shouldBeEnabled) {
+ return BrowserTestUtils.waitForCondition(() => {
+ return (
+ !!PageActions.actionForID("screenshots_mozilla_org") == shouldBeEnabled
+ );
+ }, "Expecting screenshots to be " + shouldBeEnabled);
+}
+
+add_task(async function test_disable_firefox_screenshots() {
+ // Dynamically toggling the PREF_DISABLE_FX_SCREENSHOTS is very finicky, because
+ // that pref is being watched, and it makes the Firefox Screenshots system add-on
+ // to start or stop, causing intermittency.
+ //
+ // Firefox Screenshots is disabled by default on tests (in
+ // testing/profiles/common/user.js). What we do here to test this policy is to enable
+ // it on this specific test folder (through browser.ini) and then we let the policy
+ // engine be responsible for disabling Firefox Screenshots in this case.
+
+ is(
+ Services.prefs.getBoolPref(PREF_DISABLE_FX_SCREENSHOTS),
+ true,
+ "Screenshots pref is disabled"
+ );
+
+ await BrowserTestUtils.withNewTab("data:text/html,Test", async function () {
+ await checkScreenshots(false);
+ });
+});
diff --git a/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/config_disable_fxscreenshots.json b/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/config_disable_fxscreenshots.json
new file mode 100644
index 0000000000..4caf055394
--- /dev/null
+++ b/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/config_disable_fxscreenshots.json
@@ -0,0 +1,5 @@
+{
+ "policies": {
+ "DisableFirefoxScreenshots": true
+ }
+}