Commit 23b1fbea authored by Jonathan Kingston's avatar Jonathan Kingston
Browse files

Bug 1390738 - Await for pref change if containers aren't enabled. r=aswan

MozReview-Commit-ID: GOf1py5uZkh

--HG--
extra : rebase_source : dbdcec159ccf5e4086e710efba882a62877d05f5
parent b45802f0
Loading
Loading
Loading
Loading
+16 −11
Original line number Diff line number Diff line
@@ -4,6 +4,18 @@ do_get_profile();

XPCOMUtils.defineLazyModuleGetter(this, "AddonManager",
                                  "resource://modules/AddonManager.jsm");

function waitForPrefChange(pref) {
  return new Promise(resolve => {
    function observeChange() {
      Services.prefs.removeObserver(pref, observeChange);
      resolve();
    }

    Services.prefs.addObserver(pref, observeChange);
  });
}

add_task(async function startup() {
  await ExtensionTestUtils.startAddonManager();
});
@@ -207,7 +219,11 @@ add_task(async function test_contextualIdentity_with_permissions() {
  await extension.startup();
  await extension.awaitFinish("contextualIdentities");
  equal(Services.prefs.getBoolPref(CONTAINERS_PREF), true, "Pref should now be enabled, whatever it's initial state");
  const prefChange = waitForPrefChange(CONTAINERS_PREF);
  await extension.unload();
  if (initial === false) {
    await prefChange;
  }
  equal(Services.prefs.getBoolPref(CONTAINERS_PREF), initial, "Pref should now be initial state");

  Services.prefs.clearUserPref(CONTAINERS_PREF);
@@ -235,17 +251,6 @@ add_task(async function test_contextualIdentity_extensions_enable_containers() {
    });
  }

  function waitForPrefChange(pref) {
    return new Promise(resolve => {
      function observeChange() {
        Services.prefs.removeObserver(pref, observeChange);
        resolve();
      }

      Services.prefs.addObserver(pref, observeChange);
    });
  }

  let extension = makeExtension("containers-test@mozilla.org");
  await extension.startup();
  await extension.awaitFinish("contextualIdentities");