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(
|
function onMessage(
|
||||||
request: unknown,
|
request: unknown,
|
||||||
_sender: chrome.runtime.MessageSender,
|
_sender: chrome.runtime.MessageSender,
|
||||||
|
@ -96,3 +106,4 @@ async function handleInstalled() {
|
||||||
}
|
}
|
||||||
|
|
||||||
utils.runtime.onInstalled.addListener(handleInstalled);
|
utils.runtime.onInstalled.addListener(handleInstalled);
|
||||||
|
utils.permissions.onAdded.addListener(onAdded);
|
||||||
|
|
|
@ -200,16 +200,11 @@ window.addEventListener("DOMContentLoaded", async () => {
|
||||||
!(await utils.hasHostPermissionForActiveTab())
|
!(await utils.hasHostPermissionForActiveTab())
|
||||||
) {
|
) {
|
||||||
permissionsButton.classList.remove("hidden");
|
permissionsButton.classList.remove("hidden");
|
||||||
permissionsButton.addEventListener("click", async () => {
|
permissionsButton.addEventListener("click", () => {
|
||||||
const grant = await utils.permissions.request({
|
utils.permissions.request({
|
||||||
origins: [url.toString()],
|
origins: [url.toString()],
|
||||||
});
|
});
|
||||||
if (grant) {
|
window.close();
|
||||||
// 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