Backed out changeset 555c786396f8 (bug 1852046) as requested. CLOSED TREE
[gecko.git] / toolkit / mozapps / extensions / test / xpcshell / test_provider_markSafe.js
blobe8062a2caf3a2e4b2b71cea1b27ad11f0cd3f675
1 createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
3 function mockAddonProvider(name) {
4   let mockProvider = {
5     markSafe: false,
6     apiAccessed: false,
8     startup() {
9       if (this.markSafe) {
10         AddonManagerPrivate.markProviderSafe(this);
11       }
13       AddonManager.isInstallEnabled("made-up-mimetype");
14     },
15     supportsMimetype(mimetype) {
16       this.apiAccessed = true;
17       return false;
18     },
20     get name() {
21       return name;
22     },
23   };
25   return mockProvider;
28 add_task(async function testMarkSafe() {
29   info("Starting with provider normally");
30   let provider = mockAddonProvider("Mock1");
31   AddonManagerPrivate.registerProvider(provider);
32   await promiseStartupManager();
33   ok(!provider.apiAccessed, "Provider API should not have been accessed");
34   AddonManagerPrivate.unregisterProvider(provider);
35   await promiseShutdownManager();
37   info("Starting with provider that marks itself safe");
38   provider.apiAccessed = false;
39   provider.markSafe = true;
40   AddonManagerPrivate.registerProvider(provider);
41   await promiseStartupManager();
42   ok(provider.apiAccessed, "Provider API should have been accessed");
43 });