From 3eba55a80daf835aaa54860b824adc8ad4319e9b Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Mon, 14 Feb 2022 21:15:55 -0300 Subject: [PATCH] display params for immediate action on prompt window. --- extension/background.js | 13 +++++++++---- extension/prompt.jsx | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/extension/background.js b/extension/background.js index f934929..9d54ce1 100644 --- a/extension/background.js +++ b/extension/background.js @@ -29,7 +29,7 @@ async function handleContentScriptMessage({type, params, host}) { } else { // ask for authorization try { - await promptPermission(host, PERMISSIONS_REQUIRED[type]) + await promptPermission(host, PERMISSIONS_REQUIRED[type], params) // authorized, proceed } catch (_) { // not authorized, stop here @@ -99,16 +99,21 @@ function handlePromptMessage({id, condition, host, level}, sender) { browser.windows.remove(sender.tab.windowId) } -function promptPermission(host, level) { +function promptPermission(host, level, params) { let id = Math.random().toString().slice(4) - let qs = new URLSearchParams({host, level, id}) + let qs = new URLSearchParams({ + host, + level, + id, + params: JSON.stringify(params) + }) return new Promise((resolve, reject) => { browser.windows.create({ url: `${browser.runtime.getURL('prompt.html')}?${qs.toString()}`, type: 'popup', width: 340, - height: 230 + height: 330 }) prompts[id] = {resolve, reject} diff --git a/extension/prompt.jsx b/extension/prompt.jsx index b89e459..609cf9e 100644 --- a/extension/prompt.jsx +++ b/extension/prompt.jsx @@ -9,6 +9,12 @@ function Prompt() { let id = qs.get('id') let host = qs.get('host') let level = parseInt(qs.get('level')) + let params + try { + params = JSON.parse(qs.get('params')) + } catch (err) { + params = null + } return ( <> @@ -25,6 +31,14 @@ function Prompt() { ))} + {params && ( + <> +

now acting on

+
+            {JSON.stringify(params, null, 2)}
+          
+ + )}