diff --git a/keepassxc-browser/background/init.js b/keepassxc-browser/background/init.js index 4e76085..f557e32 100644 --- a/keepassxc-browser/background/init.js +++ b/keepassxc-browser/background/init.js @@ -146,7 +146,8 @@ browser.commands.onCommand.addListener(async (command) => { if (contextMenuItems.some(e => e.action === command) || command === 'redetect_fields' || command === 'choose_credential_fields' - || command === 'retrive_credentials_forced') { + || command === 'retrive_credentials_forced' + || command === 'reload_extension') { const tabs = await browser.tabs.query({ active: true, currentWindow: true }); if (tabs.length) { browser.tabs.sendMessage(tabs[0].id, { action: command }); diff --git a/keepassxc-browser/content/keepassxc-browser.js b/keepassxc-browser/content/keepassxc-browser.js index 9cceb0c..dfafb28 100755 --- a/keepassxc-browser/content/keepassxc-browser.js +++ b/keepassxc-browser/content/keepassxc-browser.js @@ -2108,6 +2108,8 @@ browser.runtime.onMessage.addListener(async function(req, sender) { kpxc.inputs = []; kpxc.combinations = []; kpxc.initCredentialFields(); + } else if (req.action === 'reload_extension') { + sendMessage('reconnect'); } else if (req.action === 'save_credentials') { kpxc.rememberCredentialsFromContextMenu(); } else if (req.action === 'retrive_credentials_forced') { diff --git a/keepassxc-browser/manifest.json b/keepassxc-browser/manifest.json index c5bdddc..d725820 100755 --- a/keepassxc-browser/manifest.json +++ b/keepassxc-browser/manifest.json @@ -111,6 +111,9 @@ }, "request_autotype": { "description": "__MSG_contextMenuRequestGlobalAutoType__" + }, + "reload_extension": { + "description": "__MSG_popupReloadButton__" } }, "web_accessible_resources": [