From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../browser/browser_ext_popup_requestPermission.js | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 browser/components/extensions/test/browser/browser_ext_popup_requestPermission.js (limited to 'browser/components/extensions/test/browser/browser_ext_popup_requestPermission.js') diff --git a/browser/components/extensions/test/browser/browser_ext_popup_requestPermission.js b/browser/components/extensions/test/browser/browser_ext_popup_requestPermission.js new file mode 100644 index 0000000000..657d525634 --- /dev/null +++ b/browser/components/extensions/test/browser/browser_ext_popup_requestPermission.js @@ -0,0 +1,67 @@ +"use strict"; + +const verifyRequestPermission = async (manifestProps, expectedIcon) => { + let extension = ExtensionTestUtils.loadExtension({ + manifest: { + browser_action: { + default_popup: "popup.html", + }, + optional_permissions: [""], + ...manifestProps, + }, + + files: { + "popup.html": ``, + "popup.js": async () => { + const success = await new Promise(resolve => { + browser.test.withHandlingUserInput(() => { + resolve( + browser.permissions.request({ + origins: [""], + }) + ); + }); + }); + browser.test.assertTrue( + success, + "browser.permissions.request promise resolves" + ); + browser.test.sendMessage("done"); + }, + }, + }); + + const requestPrompt = promisePopupNotificationShown( + "addon-webext-permissions" + ).then(panel => { + ok( + panel.getAttribute("icon").endsWith(`/${expectedIcon}`), + "expected the correct icon on the notification" + ); + + panel.button.click(); + }); + await extension.startup(); + await clickBrowserAction(extension); + await requestPrompt; + await extension.awaitMessage("done"); + await extension.unload(); +}; + +add_task(async function test_popup_requestPermission_resolve() { + await verifyRequestPermission({}, "extensionGeneric.svg"); +}); + +add_task(async function test_popup_requestPermission_resolve_custom_icon() { + let expectedIcon = "icon-32.png"; + + await verifyRequestPermission( + { + icons: { + 16: "icon-16.png", + 32: expectedIcon, + }, + }, + expectedIcon + ); +}); -- cgit v1.2.3