From 43f4ee278516ff0aabc607c810bd352dddaa1f7e Mon Sep 17 00:00:00 2001 From: SondreB Date: Mon, 25 Jul 2022 13:43:25 +0200 Subject: [PATCH] Handle dismissal of extension prompt - When user dismissed the window without choosing any option, it will now gracefully handle it. - This has only been tested on Chromium. - Closes #6 --- extension/background.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/extension/background.js b/extension/background.js index a4d4d9f..58f68d7 100644 --- a/extension/background.js +++ b/extension/background.js @@ -30,6 +30,12 @@ browser.runtime.onMessageExternal.addListener( } ) +browser.windows.onRemoved.addListener((windowId) => { + if (openPrompt) { + handlePromptMessage({ condition: 'no' }, null); + } +}) + async function handleContentScriptMessage({type, params, host}) { let level = await readPermissionLevel(host) @@ -108,7 +114,10 @@ function handlePromptMessage({id, condition, host, level}, sender) { openPrompt = null releasePromptMutex() - browser.windows.remove(sender.tab.windowId) + + if (sender) { + browser.windows.remove(sender.tab.windowId) + } } async function promptPermission(host, level, params) {