Wait for permissions before reloading

This commit is contained in:
Ajay Ramachandran
2020-07-02 20:56:41 -04:00
parent 5c4f0c960c
commit cd0b1f4a31

View File

@@ -298,7 +298,8 @@ function invidiousInit(checkbox: HTMLInputElement, option: string) {
* @param checkbox * @param checkbox
* @param option * @param option
*/ */
function invidiousOnClick(checkbox: HTMLInputElement, option: string) { async function invidiousOnClick(checkbox: HTMLInputElement, option: string) {
return new Promise((resolve) => {
if (checkbox.checked) { if (checkbox.checked) {
utils.setupExtraSitePermissions(function (granted) { utils.setupExtraSitePermissions(function (granted) {
if (!granted) { if (!granted) {
@@ -307,10 +308,13 @@ function invidiousOnClick(checkbox: HTMLInputElement, option: string) {
} else { } else {
checkbox.checked = true; checkbox.checked = true;
} }
resolve();
}); });
} else { } else {
utils.removeExtraSiteRegistration(); utils.removeExtraSiteRegistration();
} }
});
} }
/** /**
@@ -445,7 +449,7 @@ function activatePrivateTextChange(element: HTMLElement) {
textBox.value = result; textBox.value = result;
let setButton = element.querySelector(".text-change-set"); let setButton = element.querySelector(".text-change-set");
setButton.addEventListener("click", () => { setButton.addEventListener("click", async () => {
let confirmMessage = element.getAttribute("confirm-message"); let confirmMessage = element.getAttribute("confirm-message");
if (confirmMessage === null || confirm(chrome.i18n.getMessage(confirmMessage))) { if (confirmMessage === null || confirm(chrome.i18n.getMessage(confirmMessage))) {
@@ -464,7 +468,7 @@ function activatePrivateTextChange(element: HTMLElement) {
let checkbox = <HTMLInputElement> document.querySelector("#support-invidious > label > label > input"); let checkbox = <HTMLInputElement> document.querySelector("#support-invidious > label > label > input");
checkbox.checked = true; checkbox.checked = true;
invidiousOnClick(checkbox, "supportInvidious"); await invidiousOnClick(checkbox, "supportInvidious");
} }
window.location.reload(); window.location.reload();