extension: Reload the tab when non-<all_urls> host permission added
This commit is contained in:
parent
23d8e5617c
commit
8af4454012
|
@ -52,6 +52,16 @@ async function disable() {
|
|||
}
|
||||
}
|
||||
|
||||
function onAdded(permissions: chrome.permissions.Permissions) {
|
||||
if (
|
||||
permissions.origins &&
|
||||
permissions.origins.length === 1 &&
|
||||
permissions.origins[0] !== "<all_urls>"
|
||||
) {
|
||||
utils.tabs.reload();
|
||||
}
|
||||
}
|
||||
|
||||
function onMessage(
|
||||
request: unknown,
|
||||
_sender: chrome.runtime.MessageSender,
|
||||
|
@ -96,3 +106,4 @@ async function handleInstalled() {
|
|||
}
|
||||
|
||||
utils.runtime.onInstalled.addListener(handleInstalled);
|
||||
utils.permissions.onAdded.addListener(onAdded);
|
||||
|
|
|
@ -200,16 +200,11 @@ window.addEventListener("DOMContentLoaded", async () => {
|
|||
!(await utils.hasHostPermissionForActiveTab())
|
||||
) {
|
||||
permissionsButton.classList.remove("hidden");
|
||||
permissionsButton.addEventListener("click", async () => {
|
||||
const grant = await utils.permissions.request({
|
||||
permissionsButton.addEventListener("click", () => {
|
||||
utils.permissions.request({
|
||||
origins: [url.toString()],
|
||||
});
|
||||
if (grant) {
|
||||
// Unfortunately, due to the way the popup disappears, this will
|
||||
// only work if the popup and the permission dialog happen to overlap
|
||||
await utils.tabs.reload(activeTab.id!);
|
||||
window.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue