summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/extensions/test/xpcshell/test_childprocess.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_childprocess.js')
-rw-r--r--toolkit/mozapps/extensions/test/xpcshell/test_childprocess.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_childprocess.js b/toolkit/mozapps/extensions/test/xpcshell/test_childprocess.js
new file mode 100644
index 0000000000..d7661d52ad
--- /dev/null
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_childprocess.js
@@ -0,0 +1,25 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+// This verifies that the AddonManager refuses to load in child processes.
+
+// NOTE: This test does NOT load head_addons.js, because that would indirectly
+// load AddonManager.sys.mjs. In this test, we want to be the first to load the
+// AddonManager module to verify that it cannot be loaded in child processes.
+
+const { updateAppInfo } = ChromeUtils.importESModule(
+ "resource://testing-common/AppInfo.sys.mjs"
+);
+
+function run_test() {
+ updateAppInfo();
+ Services.appinfo.processType = Ci.nsIXULRuntime.PROCESS_TYPE_CONTENT;
+ try {
+ ChromeUtils.importESModule("resource://gre/modules/AddonManager.sys.mjs");
+ do_throw("AddonManager should have refused to load");
+ } catch (ex) {
+ info(ex.message);
+ Assert.ok(!!ex.message);
+ }
+}