summaryrefslogtreecommitdiffstats
path: root/browser/components/extensions/test/browser/browser_ext_sidebar_requestPermission.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/extensions/test/browser/browser_ext_sidebar_requestPermission.js')
-rw-r--r--browser/components/extensions/test/browser/browser_ext_sidebar_requestPermission.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/browser/components/extensions/test/browser/browser_ext_sidebar_requestPermission.js b/browser/components/extensions/test/browser/browser_ext_sidebar_requestPermission.js
new file mode 100644
index 0000000000..393efcf99e
--- /dev/null
+++ b/browser/components/extensions/test/browser/browser_ext_sidebar_requestPermission.js
@@ -0,0 +1,43 @@
+"use strict";
+
+add_task(async function test_sidebar_requestPermission_resolve() {
+ let extension = ExtensionTestUtils.loadExtension({
+ manifest: {
+ sidebar_action: {
+ default_panel: "panel.html",
+ browser_style: false,
+ },
+ optional_permissions: ["tabs"],
+ },
+ useAddonManager: "temporary",
+ files: {
+ "panel.html": `<meta charset="utf-8"><script src="panel.js"></script>`,
+ "panel.js": async () => {
+ const success = await new Promise(resolve => {
+ browser.test.withHandlingUserInput(() => {
+ resolve(
+ browser.permissions.request({
+ permissions: ["tabs"],
+ })
+ );
+ });
+ });
+ browser.test.assertTrue(
+ success,
+ "browser.permissions.request promise resolves"
+ );
+ browser.test.sendMessage("done");
+ },
+ },
+ });
+
+ const requestPrompt = promisePopupNotificationShown(
+ "addon-webext-permissions"
+ ).then(panel => {
+ panel.button.click();
+ });
+ await extension.startup();
+ await requestPrompt;
+ await extension.awaitMessage("done");
+ await extension.unload();
+});