summaryrefslogtreecommitdiffstats
path: root/browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser_policy_disable_fxscreenshots.js
blob: e2b9232aa3fe9207c24e84c1ff3b13b9230fd93a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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);
  });
});