Bug 1428306 - Remove browser.storageManager.enabled pref r=johannh,baku draft
authorMichael Kohler <me@michaelkohler.info>
Mon, 09 Apr 2018 20:46:45 +0200
changeset 779353 5cfeb91f60dbaefe890c6c3ca07a38e7682770a1
parent 779350 15678b283f0f62b7a27afba6e572ef8961d46c69
push id105746
push userbmo:me@michaelkohler.info
push dateMon, 09 Apr 2018 18:48:03 +0000
reviewersjohannh, baku
bugs1428306
milestone61.0a1
Bug 1428306 - Remove browser.storageManager.enabled pref r=johannh,baku MozReview-Commit-ID: GodyYuGxVD
browser/base/content/browser.js
browser/base/content/test/general/browser_storagePressure_notification.js
browser/components/nsBrowserGlue.js
browser/components/preferences/in-content/privacy.js
browser/components/preferences/in-content/privacy.xul
browser/components/preferences/in-content/tests/browser_bug731866.js
browser/components/preferences/in-content/tests/browser_search_subdialogs_within_preferences_3.js
browser/components/preferences/in-content/tests/browser_search_subdialogs_within_preferences_7.js
browser/components/preferences/in-content/tests/browser_search_within_preferences_1.js
browser/components/preferences/in-content/tests/browser_search_within_preferences_command.js
browser/modules/SitePermissions.jsm
browser/modules/test/unit/test_SitePermissions.js
browser/tools/mozscreenshots/mozscreenshots/extension/configurations/PermissionPrompts.jsm
dom/quota/test/browser_permissionsPrompt.html
modules/libpref/init/all.js
testing/web-platform/meta/storage/storagemanager-persist.https.html.ini
toolkit/components/extensions/test/mochitest/test_ext_unlimitedStorage.html
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -494,18 +494,17 @@ const gSessionHistoryObserver = {
     gURLBar.editor.transactionManager.clear();
   }
 };
 
 const gStoragePressureObserver = {
   _lastNotificationTime: -1,
 
   observe(subject, topic, data) {
-    if (topic != "QuotaManager::StoragePressure" ||
-        !Services.prefs.getBoolPref("browser.storageManager.enabled")) {
+    if (topic != "QuotaManager::StoragePressure") {
       return;
     }
 
     const NOTIFICATION_VALUE = "storage-pressure-notification";
     let notificationBox = document.getElementById("high-priority-global-notificationbox");
     if (notificationBox.getNotificationWithValue(NOTIFICATION_VALUE)) {
       // Do not display the 2nd notification when there is already one
       return;
--- a/browser/base/content/test/general/browser_storagePressure_notification.js
+++ b/browser/base/content/test/general/browser_storagePressure_notification.js
@@ -18,17 +18,16 @@ function openAboutPrefPromise() {
     TestUtils.topicObserved("privacy-pane-loaded", () => true)
   ];
   return Promise.all(promises);
 }
 
 // Test only displaying notification once within the given interval
 add_task(async function() {
   const TEST_NOTIFICATION_INTERVAL_MS = 2000;
-  await SpecialPowers.pushPrefEnv({set: [["browser.storageManager.enabled", true]]});
   await SpecialPowers.pushPrefEnv({set: [["browser.storageManager.pressureNotification.minIntervalMS", TEST_NOTIFICATION_INTERVAL_MS]]});
   // Commenting this to see if we really need it
   // await SpecialPowers.pushPrefEnv({set: [["privacy.reduceTimerPrecision", false]]});
 
   await notifyStoragePressure();
   let notificationbox = document.getElementById("high-priority-global-notificationbox");
   let notification = notificationbox.getNotificationWithValue("storage-pressure-notification");
   ok(notification instanceof XULElement, "Should display storage pressure notification");
@@ -42,17 +41,16 @@ add_task(async function() {
   await notifyStoragePressure();
   notification = notificationbox.getNotificationWithValue("storage-pressure-notification");
   ok(notification instanceof XULElement, "Should display storage pressure notification after the given interval");
   notification.close();
 });
 
 // Test guiding user to the about:preferences when usage exceeds the given threshold
 add_task(async function() {
-  await SpecialPowers.pushPrefEnv({ set: [["browser.storageManager.enabled", true]] });
   await SpecialPowers.pushPrefEnv({ set: [["browser.storageManager.pressureNotification.minIntervalMS", 0]] });
   let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "https://example.com");
 
   const BYTES_IN_GIGABYTE = 1073741824;
   const USAGE_THRESHOLD_BYTES = BYTES_IN_GIGABYTE *
     Services.prefs.getIntPref("browser.storageManager.pressureNotification.usageThresholdGB");
   await notifyStoragePressure(USAGE_THRESHOLD_BYTES);
   let notificationbox = document.getElementById("high-priority-global-notificationbox");
@@ -69,17 +67,16 @@ add_task(async function() {
   is_element_visible(siteDataGroup, "Should open to the siteDataGroup section in about:preferences");
   BrowserTestUtils.removeTab(aboutPrefTab);
   BrowserTestUtils.removeTab(tab);
 });
 
 // Test not displaying the 2nd notification if one is already being displayed
 add_task(async function() {
   const TEST_NOTIFICATION_INTERVAL_MS = 0;
-  await SpecialPowers.pushPrefEnv({set: [["browser.storageManager.enabled", true]]});
   await SpecialPowers.pushPrefEnv({set: [["browser.storageManager.pressureNotification.minIntervalMS", TEST_NOTIFICATION_INTERVAL_MS]]});
 
   await notifyStoragePressure();
   await notifyStoragePressure();
   let notificationbox = document.getElementById("high-priority-global-notificationbox");
   let allNotifications = notificationbox.allNotifications;
   let pressureNotificationCount = 0;
   allNotifications.forEach(notification => {
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -2758,19 +2758,17 @@ const ContentPermissionIntegration = {
     switch (type) {
       case "geolocation": {
         return new PermissionUI.GeolocationPermissionPrompt(request);
       }
       case "desktop-notification": {
         return new PermissionUI.DesktopNotificationPermissionPrompt(request);
       }
       case "persistent-storage": {
-        if (Services.prefs.getBoolPref("browser.storageManager.enabled")) {
-          return new PermissionUI.PersistentStoragePermissionPrompt(request);
-        }
+        return new PermissionUI.PersistentStoragePermissionPrompt(request);
       }
       case "midi": {
         return new PermissionUI.MIDIPermissionPrompt(request);
       }
     }
     return undefined;
   },
 };
--- a/browser/components/preferences/in-content/privacy.js
+++ b/browser/components/preferences/in-content/privacy.js
@@ -332,35 +332,31 @@ var gPrivacyPane = {
       document.l10n.setAttributes(checkbox, "permissions-notification-pause");
       if (AlertsServiceDND.manualDoNotDisturb) {
         let notificationsDoNotDisturb =
           document.getElementById("notificationsDoNotDisturb");
         notificationsDoNotDisturb.setAttribute("checked", true);
       }
     }
 
-    if (Services.prefs.getBoolPref("browser.storageManager.enabled")) {
-      Services.obs.addObserver(this, "sitedatamanager:sites-updated");
-      Services.obs.addObserver(this, "sitedatamanager:updating-sites");
-      let unload = () => {
-        window.removeEventListener("unload", unload);
-        Services.obs.removeObserver(this, "sitedatamanager:sites-updated");
-        Services.obs.removeObserver(this, "sitedatamanager:updating-sites");
-      };
-      window.addEventListener("unload", unload);
-      SiteDataManager.updateSites();
-      setEventListener("clearSiteDataButton", "command",
-        gPrivacyPane.clearSiteData);
-      setEventListener("siteDataSettings", "command",
-        gPrivacyPane.showSiteDataSettings);
-      let url = Services.urlFormatter.formatURLPref("app.support.baseURL") + "storage-permissions";
-      document.getElementById("siteDataLearnMoreLink").setAttribute("href", url);
-      let siteDataGroup = document.getElementById("siteDataGroup");
-      siteDataGroup.removeAttribute("data-hidden-from-search");
-    }
+    Services.obs.addObserver(this, "sitedatamanager:sites-updated");
+    Services.obs.addObserver(this, "sitedatamanager:updating-sites");
+    let unload = () => {
+      window.removeEventListener("unload", unload);
+      Services.obs.removeObserver(this, "sitedatamanager:sites-updated");
+      Services.obs.removeObserver(this, "sitedatamanager:updating-sites");
+    };
+    window.addEventListener("unload", unload);
+    SiteDataManager.updateSites();
+    setEventListener("clearSiteDataButton", "command",
+      gPrivacyPane.clearSiteData);
+    setEventListener("siteDataSettings", "command",
+      gPrivacyPane.showSiteDataSettings);
+    let url = Services.urlFormatter.formatURLPref("app.support.baseURL") + "storage-permissions";
+    document.getElementById("siteDataLearnMoreLink").setAttribute("href", url);
 
     let notificationInfoURL =
       Services.urlFormatter.formatURLPref("app.support.baseURL") + "push";
     document.getElementById("notificationPermissionsLearnMore").setAttribute("href",
       notificationInfoURL);
     let drmInfoURL =
       Services.urlFormatter.formatURLPref("app.support.baseURL") + "drm-content";
     document.getElementById("playDRMContentLink").setAttribute("href", drmInfoURL);
--- a/browser/components/preferences/in-content/privacy.xul
+++ b/browser/components/preferences/in-content/privacy.xul
@@ -155,17 +155,17 @@
               class="accessory-button"
               icon="clear"
               data-l10n-id="history-clear-button"/>
     </vbox>
   </hbox>
 </groupbox>
 
 <!-- Site Data -->
-<groupbox id="siteDataGroup" hidden="true" data-category="panePrivacy" data-hidden-from-search="true">
+<groupbox id="siteDataGroup" data-category="panePrivacy">
   <caption><label data-l10n-id="sitedata-header"/></caption>
 
   <hbox data-subcategory="sitedata" align="baseline">
     <vbox flex="1">
       <description class="description-with-side-element" flex="1">
         <html:span id="totalSiteDataSize" class="tail-with-learn-more"></html:span>
         <label id="siteDataLearnMoreLink"
           class="learnMore text-link" data-l10n-id="sitedata-learn-more"/>
--- a/browser/components/preferences/in-content/tests/browser_bug731866.js
+++ b/browser/components/preferences/in-content/tests/browser_bug731866.js
@@ -1,15 +1,14 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 ChromeUtils.import("resource://gre/modules/PlacesUtils.jsm");
 ChromeUtils.import("resource://gre/modules/NetUtil.jsm");
 
-const storageManagerDisabled = !SpecialPowers.getBoolPref("browser.storageManager.enabled");
 const browserContainersGroupDisabled = !SpecialPowers.getBoolPref("privacy.userContext.ui.enabled");
 
 function test() {
   waitForExplicitFinish();
   open_preferences(runTest);
 }
 
 var gElements;
@@ -17,24 +16,17 @@ var gElements;
 function checkElements(expectedPane) {
   for (let element of gElements) {
     // keyset elements fail is_element_visible checks because they are never visible.
     // special-case the drmGroup item because its visibility depends on pref + OS version
     if (element.nodeName == "keyset" ||
         element.id === "drmGroup") {
       continue;
     }
-    // The siteDataGroup in the Storage Management project is currently only pref-on on Nightly for testing purpose.
-    // During the test and the transition period, we have to check the pref to see if the siteDataGroup
-    // should be hidden always. This would be a bit bothersome, same as the offlineGroup as below.
-    // However, this checking is necessary to make sure we don't leak the siteDataGroup into beta/release build
-    if (element.id == "siteDataGroup" && storageManagerDisabled) {
-      is_element_hidden(element, "Disabled siteDataGroup should be hidden");
-      continue;
-    }
+
     // The browserContainersGroup is still only pref-on on Nightly
     if (element.id == "browserContainersGroup" && browserContainersGroupDisabled) {
       is_element_hidden(element, "Disabled browserContainersGroup should be hidden");
       continue;
     }
 
     let attributeValue = element.getAttribute("data-category");
     let suffix = " (id=" + element.id + ")";
--- a/browser/components/preferences/in-content/tests/browser_search_subdialogs_within_preferences_3.js
+++ b/browser/components/preferences/in-content/tests/browser_search_subdialogs_within_preferences_3.js
@@ -1,17 +1,16 @@
 /*
 * This file contains tests for the Preferences search bar.
 */
 
 // Enabling Searching functionatily. Will display search bar form this testcase forward.
 add_task(async function() {
   await SpecialPowers.pushPrefEnv({"set": [
-    ["browser.preferences.search", true],
-    ["browser.storageManager.enabled", true]
+    ["browser.preferences.search", true]
   ]});
 });
 
 /**
  * Test for searching for the "Allowed Sites - Add-ons Installation" subdialog.
  */
 add_task(async function() {
   await openPreferencesViaOpenPreferencesAPI("paneGeneral", {leaveOpen: true});
--- a/browser/components/preferences/in-content/tests/browser_search_subdialogs_within_preferences_7.js
+++ b/browser/components/preferences/in-content/tests/browser_search_subdialogs_within_preferences_7.js
@@ -2,18 +2,17 @@
 * This file contains tests for the Preferences search bar.
 */
 
 requestLongerTimeout(2);
 
 // Enabling Searching functionatily. Will display search bar form this testcase forward.
 add_task(async function() {
   await SpecialPowers.pushPrefEnv({"set": [
-    ["browser.preferences.search", true],
-    ["browser.storageManager.enabled", true]
+    ["browser.preferences.search", true]
   ]});
 });
 
 /**
  * Test for searching for the "Device Manager" subdialog.
  */
 add_task(async function() {
   await openPreferencesViaOpenPreferencesAPI("paneGeneral", {leaveOpen: true});
--- a/browser/components/preferences/in-content/tests/browser_search_within_preferences_1.js
+++ b/browser/components/preferences/in-content/tests/browser_search_within_preferences_1.js
@@ -208,59 +208,16 @@ add_task(async function exiting_search_r
 
   // Checks if back to normal
   is_element_visible(generalPane, "Should be in generalPane");
 
   BrowserTestUtils.removeTab(gBrowser.selectedTab);
 });
 
 /**
- * Test for "Site Data" case, verifying elements with data-hidden-from-search = true
- * are hidden in search result.
- */
-add_task(async function verify_hidden_from_search_elements_dont_show_up() {
-  await SpecialPowers.pushPrefEnv({ "set": [["browser.storageManager.enabled", false]] });
-  await openPreferencesViaOpenPreferencesAPI("privacy", { leaveOpen: true });
-  let generalPane = gBrowser.contentDocument.getElementById("generalCategory");
-
-  is_element_hidden(generalPane, "Should not be in general");
-
-  // Performs search
-  let searchInput = gBrowser.contentDocument.getElementById("searchInput");
-
-  is(searchInput, gBrowser.contentDocument.activeElement.closest("#searchInput"),
-    "Search input should be focused when visiting preferences");
-
-  let query = "site data";
-  let searchCompletedPromise = BrowserTestUtils.waitForEvent(
-    gBrowser.contentWindow, "PreferencesSearchCompleted", evt => evt.detail == query);
-  EventUtils.sendString(query);
-  await searchCompletedPromise;
-
-  let mainPrefTag = gBrowser.contentDocument.getElementById("mainPrefPane");
-
-  let child = mainPrefTag.querySelector("#siteDataGroup");
-  is_element_hidden(child, "Should be hidden in search results");
-
-  // Takes search off
-  searchCompletedPromise = BrowserTestUtils.waitForEvent(
-    gBrowser.contentWindow, "PreferencesSearchCompleted", evt => evt.detail == "");
-  let count = query.length;
-  while (count--) {
-    EventUtils.sendKey("BACK_SPACE");
-  }
-  await searchCompletedPromise;
-
-  // Checks if back to normal
-  is_element_visible(generalPane, "Should be in generalPane");
-
-  BrowserTestUtils.removeTab(gBrowser.selectedTab);
-});
-
-/**
  * Test for if we go to another tab after searching
  */
 add_task(async function changing_tabs_after_searching() {
   await openPreferencesViaOpenPreferencesAPI("paneGeneral", { leaveOpen: true });
   let searchInput = gBrowser.contentDocument.getElementById("searchInput");
 
   is(searchInput, gBrowser.contentDocument.activeElement.closest("#searchInput"),
     "Search input should be focused when visiting preferences");
--- a/browser/components/preferences/in-content/tests/browser_search_within_preferences_command.js
+++ b/browser/components/preferences/in-content/tests/browser_search_within_preferences_command.js
@@ -1,15 +1,14 @@
 "use strict";
 
 /**
  * Test for "command" event on search input (when user clicks the x button)
  */
 add_task(async function() {
-  await SpecialPowers.pushPrefEnv({"set": [["browser.storageManager.enabled", false]]});
   await openPreferencesViaOpenPreferencesAPI("privacy", {leaveOpen: true});
   let generalPane = gBrowser.contentDocument.getElementById("generalCategory");
 
   is_element_hidden(generalPane, "Should not be in general");
 
   // Performs search
   let searchInput = gBrowser.contentDocument.getElementById("searchInput");
   is(searchInput, gBrowser.contentDocument.activeElement.closest("#searchInput"),
--- a/browser/modules/SitePermissions.jsm
+++ b/browser/modules/SitePermissions.jsm
@@ -679,22 +679,16 @@ var gPermissionObject = {
     exactHostMatch: true
   },
 
   "midi-sysex": {
     exactHostMatch: true
   }
 };
 
-// Delete this entry while being pre-off
-// or the persistent-storage permission would appear in Page info's Permission section
-if (!Services.prefs.getBoolPref("browser.storageManager.enabled")) {
-  delete gPermissionObject["persistent-storage"];
-}
-
 if (!Services.prefs.getBoolPref("dom.webmidi.enabled")) {
   // ESLint gets angry about array versus dot notation here, but some permission
   // names use hyphens. Disabling rule for line to keep things consistent.
   // eslint-disable-next-line dot-notation
   delete gPermissionObject["midi"];
   delete gPermissionObject["midi-sysex"];
 }
 
--- a/browser/modules/test/unit/test_SitePermissions.js
+++ b/browser/modules/test/unit/test_SitePermissions.js
@@ -1,29 +1,23 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/
  */
 "use strict";
 
 ChromeUtils.import("resource:///modules/SitePermissions.jsm");
 ChromeUtils.import("resource://gre/modules/Services.jsm");
 
-const STORAGE_MANAGER_ENABLED = Services.prefs.getBoolPref("browser.storageManager.enabled");
 const RESIST_FINGERPRINTING_ENABLED = Services.prefs.getBoolPref("privacy.resistFingerprinting");
 const MIDI_ENABLED = Services.prefs.getBoolPref("dom.webmidi.enabled");
 
 add_task(async function testPermissionsListing() {
   let expectedPermissions = ["camera", "cookie", "desktop-notification", "focus-tab-by-prompt",
-     "geo", "image", "install", "microphone", "plugin:flash", "popup", "screen", "shortcuts"];
-  if (STORAGE_MANAGER_ENABLED) {
-    // The persistent-storage permission is still only pref-on on Nightly
-    // so we add it only when it's pref-on.
-    // Should remove this checking and add it as default after it is fully pref-on.
-    expectedPermissions.push("persistent-storage");
-  }
+     "geo", "image", "install", "microphone", "plugin:flash", "popup", "screen", "shortcuts",
+     "persistent-storage"];
   if (RESIST_FINGERPRINTING_ENABLED) {
     // Canvas permission should be hidden unless privacy.resistFingerprinting
     // is true.
     expectedPermissions.push("canvas");
   }
   if (MIDI_ENABLED) {
     // Should remove this checking and add it as default after it is fully pref'd-on.
     expectedPermissions.push("midi");
@@ -108,23 +102,17 @@ add_task(async function testGetAvailable
                      SitePermissions.BLOCK ]);
 });
 
 add_task(async function testExactHostMatch() {
   let uri = Services.io.newURI("https://example.com");
   let subUri = Services.io.newURI("https://test1.example.com");
 
   let exactHostMatched = ["desktop-notification", "focus-tab-by-prompt", "camera",
-                          "microphone", "screen", "geo"];
-  if (STORAGE_MANAGER_ENABLED) {
-    // The persistent-storage permission is still only pref-on on Nightly
-    // so we add it only when it's pref-on.
-    // Should remove this checking and add it as default after it is fully pref-on.
-    exactHostMatched.push("persistent-storage");
-  }
+                          "microphone", "screen", "geo", "persistent-storage"];
   if (RESIST_FINGERPRINTING_ENABLED) {
     // Canvas permission should be hidden unless privacy.resistFingerprinting
     // is true.
     exactHostMatched.push("canvas");
   }
   if (MIDI_ENABLED) {
     // WebMIDI is only pref'd on in nightly.
     // Should remove this checking and add it as default after it is fully pref-on.
--- a/browser/tools/mozscreenshots/mozscreenshots/extension/configurations/PermissionPrompts.jsm
+++ b/browser/tools/mozscreenshots/mozscreenshots/extension/configurations/PermissionPrompts.jsm
@@ -11,17 +11,16 @@ ChromeUtils.import("resource://gre/modul
 ChromeUtils.import("resource://testing-common/ContentTask.jsm");
 ChromeUtils.import("resource://testing-common/BrowserTestUtils.jsm");
 
 const URL = "https://test1.example.com/browser/browser/tools/mozscreenshots/mozscreenshots/extension/mozscreenshots/browser/chrome/mozscreenshots/lib/permissionPrompts.html";
 let lastTab = null;
 
 var PermissionPrompts = {
   init(libDir) {
-    Services.prefs.setBoolPref("browser.storageManager.enabled", true);
     Services.prefs.setBoolPref("media.navigator.permission.fake", true);
     Services.prefs.setBoolPref("extensions.install.requireBuiltInCerts", false);
     Services.prefs.setBoolPref("signon.rememberSignons", true);
   },
 
   configurations: {
     shareDevices: {
       selectors: ["#notification-popup"],
--- a/dom/quota/test/browser_permissionsPrompt.html
+++ b/dom/quota/test/browser_permissionsPrompt.html
@@ -8,18 +8,17 @@
     <title>Persistent-Storage Permission Prompt Test</title>
 
     <script type="text/javascript">
       function* testSteps()
       {
         SpecialPowers.pushPrefEnv({
           "set": [["dom.storageManager.enabled", true],
                   ["dom.storageManager.prompt.testing", false],
-                  ["dom.storageManager.prompt.testing.allow", false],
-                  ["browser.storageManager.enabled", true]]
+                  ["dom.storageManager.prompt.testing.allow", false]]
         }, continueToNextStep);
         yield undefined;
 
         navigator.storage.persist().then(result => {
           testGenerator.next(result);
         });
         testResult = yield undefined;
 
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -5832,19 +5832,17 @@ pref("security.data_uri.block_toplevel_d
 #if !defined(MOZ_WIDGET_ANDROID)
 pref("dom.storageManager.enabled", true);
 #else
 pref("dom.storageManager.enabled", false);
 #endif
 pref("dom.storageManager.prompt.testing", false);
 pref("dom.storageManager.prompt.testing.allow", false);
 
-// Enable the Storage management in about:preferences and persistent-storage permission request
-// To enable the DOM implementation, turn on "dom.storageManager.enabled"
-pref("browser.storageManager.enabled", true);
+
 pref("browser.storageManager.pressureNotification.minIntervalMS", 1200000);
 pref("browser.storageManager.pressureNotification.usageThresholdGB", 5);
 
 // When a user cancels this number of authentication dialogs coming from
 // a single web page in a row, all following authentication dialogs will
 // be blocked (automatically canceled) for that page. The counter resets
 // when the page is reloaded. To turn this feature off, just set the limit to 0.
 pref("prompts.authentication_dialog_abuse_limit", 3);
--- a/testing/web-platform/meta/storage/storagemanager-persist.https.html.ini
+++ b/testing/web-platform/meta/storage/storagemanager-persist.https.html.ini
@@ -1,2 +1,2 @@
 [storagemanager-persist.https.html]
-  prefs: [browser.storageManager.enabled:true, dom.storageManager.prompt.testing:true]
+  prefs: [dom.storageManager.prompt.testing:true]
--- a/toolkit/components/extensions/test/mochitest/test_ext_unlimitedStorage.html
+++ b/toolkit/components/extensions/test/mochitest/test_ext_unlimitedStorage.html
@@ -15,18 +15,16 @@
 <script type="text/javascript">
 
 "use strict";
 
 add_task(async function test_background_storagePersist() {
   await SpecialPowers.pushPrefEnv({
     "set": [
       ["dom.storageManager.enabled", true],
-      // Enable the storageManager permission prompt.
-      ["browser.storageManager.enabled", true],
       ["dom.storageManager.prompt.testing", false],
       ["dom.storageManager.prompt.testing.allow", false],
     ],
   });
 
   const EXTENSION_ID = "test-storagePersist@mozilla";
 
   const extension = ExtensionTestUtils.loadExtension({