Bug 1468362: Remove ADDON_SINGING buildconfig setting. r?aswan draft
authorKris Maglione <maglione.k@gmail.com>
Tue, 12 Jun 2018 13:56:58 -0400
changeset 806901 f1d4ead047de0fea00f09d5d477c1e85a287cdbd
parent 806884 75a32b57132f8cba42779555662a057a0416a313
push id112983
push usermaglione.k@gmail.com
push dateTue, 12 Jun 2018 17:57:58 +0000
reviewersaswan
bugs1468362
milestone62.0a1
Bug 1468362: Remove ADDON_SINGING buildconfig setting. r?aswan MozReview-Commit-ID: MeD4VQPVf6
browser/config/mozconfigs/win32/mingw32
browser/confvars.sh
build/mozconfig.common
mobile/android/confvars.sh
old-configure.in
python/mozbuild/mozbuild/mozinfo.py
testing/mozharness/configs/merge_day/release_to_esr.py
toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
toolkit/modules/AppConstants.jsm
toolkit/mozapps/extensions/internal/AddonSettings.jsm
toolkit/mozapps/extensions/internal/XPIDatabase.jsm
toolkit/mozapps/extensions/internal/XPIInstall.jsm
toolkit/mozapps/extensions/internal/XPIProvider.jsm
toolkit/mozapps/extensions/test/xpcshell/test_proxy.js
toolkit/mozapps/extensions/test/xpcshell/test_webextension.js
toolkit/mozapps/extensions/test/xpcshell/test_webextension_install.js
toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
--- a/browser/config/mozconfigs/win32/mingw32
+++ b/browser/config/mozconfigs/win32/mingw32
@@ -9,17 +9,16 @@
 unset MAKECAB
 
 # Sets:
 #  build/mozconfig.common
 #    AUTOCLOBBER=1
 #    --enable-crashreporter
 #    --enable-release
 #    LLVM_CONFIG
-#    MOZ_ADDON_SIGNING
 #    MOZ_REQUIRE_SIGNING
 #    --enable-js-shell
 #  build/mozconfig.automation
 #    MOZ_AUTOMATION_ flags
 #  build/mozconfig.rust
 #    TOOLTOOL_DIR
 #    RUSTC
 #    CARGO
--- a/browser/confvars.sh
+++ b/browser/confvars.sh
@@ -62,13 +62,10 @@ fi
 # ASan reporter builds should have different channel ids
 if [ "${MOZ_ASAN_REPORTER}" = "1" ]; then
     ACCEPTED_MAR_CHANNEL_IDS="${ACCEPTED_MAR_CHANNEL_IDS}-asan"
     MAR_CHANNEL_ID="${MAR_CHANNEL_ID}-asan"
 fi
 
 MOZ_PROFILE_MIGRATOR=1
 
-# Enable checking that add-ons are signed by the trusted root
-MOZ_ADDON_SIGNING=1
-
 # Include the DevTools client, not just the server (which is the default)
 MOZ_DEVTOOLS=all
--- a/build/mozconfig.common
+++ b/build/mozconfig.common
@@ -9,18 +9,16 @@
 # architectures, though note that if you want to override options set in
 # another mozconfig file, you'll need to use mozconfig.common.override instead
 # of this file.
 
 mk_add_options AUTOCLOBBER=1
 
 ac_add_options --enable-crashreporter
 
-# Enable checking that add-ons are signed by the trusted root
-MOZ_ADDON_SIGNING=${MOZ_ADDON_SIGNING-1}
 # Disable enforcing that add-ons are signed by the trusted root
 MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}
 
 ac_add_options --enable-js-shell
 
 . "$topsrcdir/build/mozconfig.automation"
 . "$topsrcdir/build/mozconfig.rust"
 . "$topsrcdir/build/mozconfig.cache"
--- a/mobile/android/confvars.sh
+++ b/mobile/android/confvars.sh
@@ -34,11 +34,8 @@ MOZ_XULRUNNER=
 
 MOZ_CAPTURE=1
 MOZ_RAW=1
 
 # use custom widget for html:select
 MOZ_USE_NATIVE_POPUP_WINDOWS=1
 
 MOZ_APP_ID={aa3c5121-dab2-40e2-81ca-7ea25febc110}
-
-# Enable checking that add-ons are signed by the trusted root
-MOZ_ADDON_SIGNING=1
--- a/old-configure.in
+++ b/old-configure.in
@@ -4115,20 +4115,16 @@ AC_SUBST_LIST(MOZ_FIX_LINK_PATHS)
 
 AC_SUBST(MOZ_POST_PROGRAM_COMMAND)
 AC_SUBST(MOZ_LINKER_EXTRACT)
 
 if test -n "$MOZ_BINARY_EXTENSIONS"; then
   AC_DEFINE(MOZ_BINARY_EXTENSIONS)
 fi
 
-AC_SUBST(MOZ_ADDON_SIGNING)
-if test "$MOZ_ADDON_SIGNING" = 1; then
-  AC_DEFINE(MOZ_ADDON_SIGNING)
-fi
 AC_SUBST(MOZ_REQUIRE_SIGNING)
 if test "$MOZ_REQUIRE_SIGNING" = 1; then
   AC_DEFINE(MOZ_REQUIRE_SIGNING)
 fi
 
 dnl ========================================================
 dnl = Mac bundle name prefix
 dnl ========================================================
--- a/python/mozbuild/mozbuild/mozinfo.py
+++ b/python/mozbuild/mozbuild/mozinfo.py
@@ -86,17 +86,16 @@ def build_dict(config, env=os.environ):
     # FIXME(emilio): We need to update a lot of WPT expectations before removing this.
     d['stylo'] = True
     d['asan'] = substs.get('MOZ_ASAN') == '1'
     d['tsan'] = substs.get('MOZ_TSAN') == '1'
     d['ubsan'] = substs.get('MOZ_UBSAN') == '1'
     d['telemetry'] = substs.get('MOZ_TELEMETRY_REPORTING') == '1'
     d['tests_enabled'] = substs.get('ENABLE_TESTS') == "1"
     d['bin_suffix'] = substs.get('BIN_SUFFIX', '')
-    d['addon_signing'] = substs.get('MOZ_ADDON_SIGNING') == '1'
     d['require_signing'] = substs.get('MOZ_REQUIRE_SIGNING') == '1'
     d['allow_legacy_extensions'] = substs.get('MOZ_ALLOW_LEGACY_EXTENSIONS') == '1'
     d['official'] = bool(substs.get('MOZILLA_OFFICIAL'))
     d['updater'] = substs.get('MOZ_UPDATER') == '1'
     d['artifact'] = substs.get('MOZ_ARTIFACT_BUILDS') == '1'
     d['ccov'] = substs.get('MOZ_CODE_COVERAGE') == '1'
     d['cc_type'] = substs.get('CC_TYPE')
 
--- a/testing/mozharness/configs/merge_day/release_to_esr.py
+++ b/testing/mozharness/configs/merge_day/release_to_esr.py
@@ -14,22 +14,16 @@ config = {
         # File, from, to
         ("browser/confvars.sh",
          "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release",
          "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-esr"),
         ("browser/confvars.sh",
          "MAR_CHANNEL_ID=firefox-mozilla-release",
          "MAR_CHANNEL_ID=firefox-mozilla-esr"),
         ("build/mozconfig.common",
-         "# Enable checking that add-ons are signed by the trusted root",
-         "# Disable checking that add-ons are signed by the trusted root"),
-        ("build/mozconfig.common",
-         "MOZ_ADDON_SIGNING=${MOZ_ADDON_SIGNING-1}",
-         "MOZ_ADDON_SIGNING=${MOZ_ADDON_SIGNING-0}"),
-        ("build/mozconfig.common",
          "# Enable enforcing that add-ons are signed by the trusted root",
          "# Disable enforcing that add-ons are signed by the trusted root"),
         ("build/mozconfig.common",
          "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}",
          "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}"),
     ],
     "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'),
     # "hg_share_base": None,
--- a/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
@@ -672,17 +672,17 @@ function checkSystemSection(data) {
           Assert.equal(typeof product, "string", "Each element of " + f + " must be a string");
         }
       }
     }
   }
 }
 
 function checkActiveAddon(data, partialRecord) {
-  let signedState = mozinfo.addon_signing ? "number" : "undefined";
+  let signedState = "number";
   // system add-ons have an undefined signState
   if (data.isSystem)
     signedState = "undefined";
 
   const EXPECTED_ADDON_FIELDS_TYPES = {
     version: "string",
     scope: "number",
     type: "string",
@@ -1213,17 +1213,17 @@ add_task(async function test_addonsAndPl
     appDisabled: false,
     version: "1.0",
     scope: 1,
     type: "extension",
     foreignInstall: false,
     hasBinaryComponents: false,
     installDay: ADDON_INSTALL_DATE,
     updateDay: ADDON_INSTALL_DATE,
-    signedState: mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_PRIVILEGED : AddonManager.SIGNEDSTATE_NOT_REQUIRED,
+    signedState: AddonManager.SIGNEDSTATE_PRIVILEGED,
     isSystem: false,
     isWebExtension: true,
     multiprocessCompatible: true,
   };
   const SYSTEM_ADDON_ID = "tel-system-xpi@tests.mozilla.org";
   const EXPECTED_SYSTEM_ADDON_DATA = {
     blocklisted: false,
     description: "A system addon which is shipped with Firefox.",
@@ -1253,17 +1253,17 @@ add_task(async function test_addonsAndPl
     appDisabled: false,
     version: "1.0",
     scope: 1,
     type: "extension",
     foreignInstall: false,
     hasBinaryComponents: false,
     installDay: WEBEXTENSION_ADDON_INSTALL_DATE,
     updateDay: WEBEXTENSION_ADDON_INSTALL_DATE,
-    signedState: mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_PRIVILEGED : AddonManager.SIGNEDSTATE_NOT_REQUIRED,
+    signedState: AddonManager.SIGNEDSTATE_PRIVILEGED,
     isSystem: false,
     isWebExtension: true,
     multiprocessCompatible: true,
   };
 
   const EXPECTED_PLUGIN_DATA = {
     name: FLASH_PLUGIN_NAME,
     version: FLASH_PLUGIN_VERSION,
@@ -1370,17 +1370,17 @@ add_task(async function test_signedAddon
     appDisabled: false,
     version: "1.0",
     scope: 1,
     type: "extension",
     foreignInstall: false,
     hasBinaryComponents: false,
     installDay: ADDON_INSTALL_DATE,
     updateDay: ADDON_INSTALL_DATE,
-    signedState: mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_SIGNED : AddonManager.SIGNEDSTATE_NOT_REQUIRED,
+    signedState: AddonManager.SIGNEDSTATE_SIGNED,
   };
 
   let deferred = PromiseUtils.defer();
   TelemetryEnvironment.registerChangeListener("test_signedAddon", deferred.resolve);
 
   // Install the addon.
   let addon = await installXPIFromURL(ADDON_INSTALL_URL);
 
@@ -1455,18 +1455,17 @@ add_task(async function test_collectionW
     appDisabled: false,
     version: "1.0",
     scope: 1,
     type: "extension",
     foreignInstall: false,
     hasBinaryComponents: false,
     installDay: ADDON_INSTALL_DATE,
     updateDay: ADDON_INSTALL_DATE,
-    signedState: mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_MISSING :
-                                         AddonManager.SIGNEDSTATE_NOT_REQUIRED,
+    signedState: AddonManager.SIGNEDSTATE_MISSING,
   };
 
   let receivedNotifications = 0;
 
   let registerCheckpointPromise = (aExpected) => {
     return new Promise(resolve => TelemetryEnvironment.registerChangeListener(
       "testBrokenAddon_collection" + aExpected, (reason, data) => {
         Assert.equal(reason, "addons-changed");
--- a/toolkit/modules/AppConstants.jsm
+++ b/toolkit/modules/AppConstants.jsm
@@ -217,23 +217,16 @@ this.AppConstants = Object.freeze({
 
   MOZ_PLACES:
 #ifdef MOZ_PLACES
   true,
 #else
   false,
 #endif
 
-  MOZ_ADDON_SIGNING:
-#ifdef MOZ_ADDON_SIGNING
-  true,
-#else
-  false,
-#endif
-
   MOZ_REQUIRE_SIGNING:
 #ifdef MOZ_REQUIRE_SIGNING
   true,
 #else
   false,
 #endif
 
   MOZ_ALLOW_LEGACY_EXTENSIONS:
--- a/toolkit/mozapps/extensions/internal/AddonSettings.jsm
+++ b/toolkit/mozapps/extensions/internal/AddonSettings.jsm
@@ -21,18 +21,16 @@ function makeConstant(name, value) {
   Object.defineProperty(AddonSettings, name, {
     configurable: false,
     enumerable: false,
     writable: false,
     value,
   });
 }
 
-makeConstant("ADDON_SIGNING", AppConstants.MOZ_ADDON_SIGNING);
-
 if (AppConstants.MOZ_REQUIRE_SIGNING && !Cu.isInAutomation) {
   makeConstant("REQUIRE_SIGNING", true);
   makeConstant("LANGPACKS_REQUIRE_SIGNING", true);
 } else {
   XPCOMUtils.defineLazyPreferenceGetter(AddonSettings, "REQUIRE_SIGNING",
                                         PREF_SIGNATURES_REQUIRED, false);
   XPCOMUtils.defineLazyPreferenceGetter(AddonSettings, "LANGPACKS_REQUIRE_SIGNING",
                                         PREF_LANGPACK_SIGNATURES, false);
--- a/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
@@ -2565,17 +2565,16 @@ this.XPIDatabaseReconcile = {
    *        the addon manifests. Default to false.
    * @returns {AddonInternal}
    *        The new addon.
    */
   updateCompatibility(aLocation, aOldAddon, aAddonState, aReloadMetadata) {
     logger.debug(`Updating compatibility for add-on ${aOldAddon.id} in ${aLocation.name}`);
 
     let checkSigning = (aOldAddon.signedState === undefined &&
-                        AddonSettings.ADDON_SIGNING &&
                         SIGNED_TYPES.has(aOldAddon.type));
 
     let manifest = null;
     if (checkSigning || aReloadMetadata) {
       try {
         let file = new nsIFile(aAddonState.path);
         manifest = XPIInstall.syncLoadManifestFromFile(file, aLocation);
       } catch (err) {
--- a/toolkit/mozapps/extensions/internal/XPIInstall.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIInstall.jsm
@@ -955,19 +955,19 @@ function shouldVerifySignedState(aAddon)
   // Updated system add-ons should always have their signature checked
   if (aAddon.location.name == KEY_APP_SYSTEM_ADDONS)
     return true;
 
   // We don't care about signatures for default system add-ons
   if (aAddon.location.name == KEY_APP_SYSTEM_DEFAULTS)
     return false;
 
-  // Otherwise only check signatures if signing is enabled and the add-on is one
-  // of the signed types.
-  return AddonSettings.ADDON_SIGNING && XPIDatabase.SIGNED_TYPES.has(aAddon.type);
+  // Otherwise only check signatures if the add-on is one of the signed
+  // types.
+  return XPIDatabase.SIGNED_TYPES.has(aAddon.type);
 }
 
 /**
  * Verifies that a bundle's contents are all correctly signed by an
  * AMO-issued certificate
  *
  * @param {nsIFile} aBundle
  *        The nsIFile for the bundle to check, either a directory or zip file.
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -187,17 +187,16 @@ function awaitPromise(promise) {
     result = val;
   });
 
   Services.tm.spinEventLoopUntil(() => success !== undefined);
 
   if (!success)
     throw result;
   return result;
-
 }
 
 /**
  * Returns a nsIFile instance for the given path, relative to the given
  * base file, if provided.
  *
  * @param {string} path
  *        The (possibly relative) path of the file.
--- a/toolkit/mozapps/extensions/test/xpcshell/test_proxy.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_proxy.js
@@ -52,17 +52,17 @@ add_task(async function() {
 
     Assert.notEqual(addon, null);
     Assert.equal(addon.version, "1.0");
     Assert.equal(addon.name, "Test Bootstrap 1 (proxy)");
     Assert.ok(addon.isCompatible);
     Assert.ok(!addon.appDisabled);
     Assert.ok(addon.isActive);
     Assert.equal(addon.type, "extension");
-    Assert.equal(addon.signedState, mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_UNKNOWN : AddonManager.SIGNEDSTATE_NOT_REQUIRED);
+    Assert.equal(addon.signedState, AddonManager.SIGNEDSTATE_UNKNOWN);
 
     Assert.ok(proxyFile.exists());
 
     await addon.uninstall();
   }
   unpackedAddon.remove(true);
 
   await promiseRestartManager();
--- a/toolkit/mozapps/extensions/test/xpcshell/test_webextension.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_webextension.js
@@ -35,17 +35,17 @@ add_task(async function test_1() {
     version: "1.0",
     name: "Web Extension Name",
     isCompatible: true,
     appDisabled: false,
     isActive: true,
     isSystem: false,
     type: "extension",
     isWebExtension: true,
-    signedState: mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_PRIVILEGED : AddonManager.SIGNEDSTATE_NOT_REQUIRED,
+    signedState: AddonManager.SIGNEDSTATE_PRIVILEGED,
     iconURL: `${uri}icon48.png`,
     icon64URL: `${uri}icon64.png`,
   });
 
   // Should persist through a restart
   await promiseShutdownManager();
 
   equal(GlobalManager.extensionMap.size, 0);
@@ -62,17 +62,17 @@ add_task(async function test_1() {
   checkAddon(ID, addon, {
     version: "1.0",
     name: "Web Extension Name",
     isCompatible: true,
     appDisabled: false,
     isActive: true,
     isSystem: false,
     type: "extension",
-    signedState: mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_PRIVILEGED : AddonManager.SIGNEDSTATE_NOT_REQUIRED,
+    signedState: AddonManager.SIGNEDSTATE_PRIVILEGED,
     iconURL: `${uri}icon48.png`,
     icon64URL: `${uri}icon64.png`,
   });
 
   await addon.disable();
 
   equal(GlobalManager.extensionMap.size, 0);
 
@@ -108,17 +108,17 @@ add_task(async function test_2() {
   checkAddon(ID, addon, {
     version: "1.0",
     name: "Web Extension Name",
     isCompatible: true,
     appDisabled: false,
     isActive: true,
     isSystem: false,
     type: "extension",
-    signedState: mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_PRIVILEGED : AddonManager.SIGNEDSTATE_NOT_REQUIRED,
+    signedState: AddonManager.SIGNEDSTATE_PRIVILEGED,
   });
 
   await addon.uninstall();
 
   await promiseRestartManager();
 });
 
 add_task(async function test_manifest_localization() {
@@ -350,17 +350,17 @@ add_task(async function testThemeExtensi
     name: "Web Extension Name",
     isCompatible: true,
     appDisabled: false,
     isActive: false,
     userDisabled: true,
     isSystem: false,
     type: "theme",
     isWebExtension: true,
-    signedState: mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_PRIVILEGED : AddonManager.SIGNEDSTATE_NOT_REQUIRED,
+    signedState: AddonManager.SIGNEDSTATE_PRIVILEGED,
   });
 
   await addon.uninstall();
 
   // Also test one without a proper 'theme' section.
   addon = await promiseInstallWebExtension({
     manifest: {
       "author": "Some author",
@@ -396,17 +396,17 @@ add_task(async function test_theme_upgra
 
   checkAddon(ID, addon, {
     version: "1.0",
     name: "Test WebExtension 1 (temporary)",
     isCompatible: true,
     appDisabled: false,
     isActive: true,
     type: "extension",
-    signedState: mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_PRIVILEGED : AddonManager.SIGNEDSTATE_NOT_REQUIRED,
+    signedState: AddonManager.SIGNEDSTATE_PRIVILEGED,
   });
 
   // Create a webextension theme with the same ID
   addon = await promiseInstallWebExtension({
     manifest: {
       version: "2.0",
       name: "Test WebExtension 1 (temporary)",
       applications: {
--- a/toolkit/mozapps/extensions/test/xpcshell/test_webextension_install.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_webextension_install.js
@@ -15,39 +15,31 @@ add_task(async function setup() {
 
 const IMPLICIT_ID_XPI = "data/webext-implicit-id.xpi";
 const IMPLICIT_ID_ID = "webext_implicit_id@tests.mozilla.org";
 
 // webext-implicit-id.xpi has a minimal manifest with no
 // applications or browser_specific_settings, so its id comes
 // from its signature, which should be the ID constant defined below.
 add_task(async function test_implicit_id() {
-  // This test needs to read the xpi certificate which only works
-  // if signing is enabled.
-  ok(AddonSettings.ADDON_SIGNING, "Add-on signing is enabled");
-
   let addon = await promiseAddonByID(IMPLICIT_ID_ID);
   equal(addon, null, "Add-on is not installed");
 
   await promiseInstallFile(do_get_file(IMPLICIT_ID_XPI));
 
   addon = await promiseAddonByID(IMPLICIT_ID_ID);
   notEqual(addon, null, "Add-on is installed");
 
   await addon.uninstall();
 });
 
 // We should also be able to install webext-implicit-id.xpi temporarily
 // and it should look just like the regular install (ie, the ID should
 // come from the signature)
 add_task(async function test_implicit_id_temp() {
-  // This test needs to read the xpi certificate which only works
-  // if signing is enabled.
-  ok(AddonSettings.ADDON_SIGNING, "Add-on signing is enabled");
-
   let addon = await promiseAddonByID(IMPLICIT_ID_ID);
   equal(addon, null, "Add-on is not installed");
 
   let xpifile = do_get_file(IMPLICIT_ID_XPI);
   await AddonManager.installTemporaryAddon(xpifile);
 
   addon = await promiseAddonByID(IMPLICIT_ID_ID);
   notEqual(addon, null, "Add-on is installed");
--- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
+++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
@@ -71,17 +71,16 @@ tags = blocklist
 # Times out during parallel runs on desktop
 requesttimeoutfactor = 2
 tags = blocklist
 [test_bootstrap.js]
 [test_bootstrap_const.js]
 [test_bootstrap_globals.js]
 [test_bootstrapped_chrome_manifest.js]
 [test_cache_certdb.js]
-run-if = addon_signing
 [test_cacheflush.js]
 [test_childprocess.js]
 [test_compatoverrides.js]
 [test_corrupt.js]
 [test_corruptfile.js]
 [test_crash_annotation_quoting.js]
 [test_db_path.js]
 head =
@@ -191,31 +190,25 @@ skip-if = os != 'win'
 skip-if = os == "android" || os == "win"
 tags = webextensions
 [test_safemode.js]
 [test_schema_change.js]
 [test_seen.js]
 [test_shutdown.js]
 [test_sideloads.js]
 [test_signed_inject.js]
-run-if = addon_signing
 # Bug 1394122
 skip-if = true
 [test_signed_install.js]
-run-if = addon_signing
 run-sequentially = Uses hardcoded ports in xpi files.
 [test_signed_langpack.js]
-run-if = addon_signing
 [test_signed_long.js]
-run-if = addon_signing
 [test_signed_updatepref.js]
-run-if = addon_signing
 skip-if = require_signing || !allow_legacy_extensions
 [test_signed_verify.js]
-run-if = addon_signing
 [test_softblocked.js]
 tags = blocklist
 [test_sourceURI.js]
 [test_startup.js]
 # Bug 676992: test consistently fails on Android
 fail-if = os == "android"
 [test_strictcompatibility.js]
 [test_switch_os.js]