From 86fd2414fffa97077b18a395098eaa30e7e5edf4 Mon Sep 17 00:00:00 2001 From: hackademix Date: Fri, 25 Feb 2022 11:24:24 +0100 Subject: [PATCH] Support for selectively hiding messages. --- src/ui/popup.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/ui/popup.js b/src/ui/popup.js index 0bc58dd..77f22d5 100644 --- a/src/ui/popup.js +++ b/src/ui/popup.js @@ -30,11 +30,17 @@ addEventListener("unload", e => { (async () => { - function showMessage(className, message, extraUI = null) { + function messageBox(className, message, extraUI = null) { let el = document.getElementById("message"); - el.textContent = message; + if (className === "hidden" && el._lastMessage !== message) return; + el._lastMessage = el.textContent = message; el.className = className; - if (extraUI) el.appendChild(extraUI); + if (extraUI) { + el.appendChild(extraUI); + if (typeof extraUI.focus === "function") { + extraUI.focus(); + } + } } try { @@ -221,7 +227,7 @@ addEventListener("unload", e => { await browser.tabs.executeScript(tabId, { code: "" }); if (isHttp) { document.body.classList.add("disabled"); - showMessage("warning", _("freshInstallReload")); + messageBox("warning", _("freshInstallReload")); let buttons = document.querySelector("#buttons"); let b = document.createElement("button"); b.textContent = _("OK"); @@ -243,7 +249,7 @@ addEventListener("unload", e => { await include("/nscl/common/restricted.js"); let isRestricted = isRestrictedURL(pageTab.url); if (!isHttp || isRestricted) { - showMessage("warning", _("privilegedPage")); + messageBox("warning", _("privilegedPage")); let tempTrust = document.getElementById("temp-trust-page"); tempTrust.disabled = true; return;