Commit a2f3df82 authored by Mike Kaply's avatar Mike Kaply
Browse files

Bug 1749535 - Add policy for Firefox Suggest. r=adw a=pascalc

parent 4f0cfffd
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
  FileUtils: "resource://gre/modules/FileUtils.sys.mjs",
  PdfJsDefaultPreferences: "resource://pdf.js/PdfJsDefaultPreferences.sys.mjs",
  ProxyPolicies: "resource:///modules/policies/ProxyPolicies.sys.mjs",
  UrlbarPrefs: "resource:///modules/UrlbarPrefs.sys.mjs",
  WebsiteFilter: "resource:///modules/policies/WebsiteFilter.sys.mjs",
});

@@ -1275,6 +1276,35 @@ export var Policies = {
    },
  },

  FirefoxSuggest: {
    onBeforeAddons(manager, param) {
      (async () => {
        await lazy.UrlbarPrefs.firefoxSuggestScenarioStartupPromise;
        if ("WebSuggestions" in param) {
          PoliciesUtils.setDefaultPref(
            "browser.urlbar.suggest.quicksuggest.nonsponsored",
            param.WebSuggestions,
            param.Locked
          );
        }
        if ("SponsoredSuggestions" in param) {
          PoliciesUtils.setDefaultPref(
            "browser.urlbar.suggest.quicksuggest.sponsored",
            param.SponsoredSuggestions,
            param.Locked
          );
        }
        if ("ImproveSuggest" in param) {
          PoliciesUtils.setDefaultPref(
            "browser.urlbar.quicksuggest.dataCollection.enabled",
            param.ImproveSuggest,
            param.Locked
          );
        }
      })();
    },
  },

  GoToIntranetSiteForSingleWordEntryInAddressBar: {
    onBeforeAddons(manager, param) {
      setAndLockPref("browser.fixup.dns_first_for_single_words", param);
+18 −0
Original line number Diff line number Diff line
@@ -682,6 +682,24 @@
      }
    },

    "FirefoxSuggest": {
      "type": "object",
      "properties": {
        "WebSuggestions": {
          "type": "boolean"
        },
        "SponsoredSuggestions": {
          "type": "boolean"
        },
        "ImproveSuggest": {
          "type": "boolean"
        },
        "Locked": {
          "type": "boolean"
        }
      }
    },

    "GoToIntranetSiteForSingleWordEntryInAddressBar": {
      "type": "boolean"
    },
+1 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ support-files =
https_first_disabled = true
[browser_policy_extensionsettings2.js]
[browser_policy_firefoxhome.js]
[browser_policy_firefoxsuggest.js]
[browser_policy_handlers.js]
[browser_policy_masterpassword.js]
[browser_policy_masterpassword_aboutlogins.js]
+63 −0
Original line number Diff line number Diff line
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

add_task(async function test_firefox_suggest_with_policy() {
  await setupPolicyEngineWithJson({
    policies: {
      FirefoxSuggest: {
        WebSuggestions: false,
        SponsoredSuggestions: true,
        ImproveSuggest: true,
        Locked: true,
      },
    },
  });

  await BrowserTestUtils.withNewTab(
    "about:preferences#privacy",
    async browser => {
      is(
        browser.contentDocument.getElementById(
          "firefoxSuggestNonsponsoredToggle"
        ).pressed,
        false,
        "Web suggestions is disabled"
      );
      is(
        browser.contentDocument.getElementById("firefoxSuggestSponsoredToggle")
          .pressed,
        true,
        "Sponsored suggestions is enabled"
      );
      is(
        browser.contentDocument.getElementById(
          "firefoxSuggestDataCollectionToggle"
        ).pressed,
        true,
        "Improve suggest is enabled"
      );
      is(
        browser.contentDocument.getElementById(
          "firefoxSuggestNonsponsoredToggle"
        ).disabled,
        true,
        "Web suggestions is disabled"
      );
      is(
        browser.contentDocument.getElementById("firefoxSuggestSponsoredToggle")
          .disabled,
        true,
        "Sponsored suggestions is enabled"
      );
      is(
        browser.contentDocument.getElementById(
          "firefoxSuggestDataCollectionToggle"
        ).disabled,
        true,
        "Improve suggest is enabled"
      );
    }
  );
});