mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-27 02:47:31 +09:00
Prevent suppressing executable warnings using the "don't ask me this again" checkbox.
A hidden preference matching the behavior of "browser.download.manager.alertOnEXEOpen" is kept, but is renamed in order to recover cases where the checkbox was used accidentally. While there, simplify the `confirmLaunchExecutable` function by converting from promises to async function. Since Basilisk moved this prompting to toolkit, we also clean up some unused duplicate strings from application/basilisk while we're there. This resolves #581
This commit is contained in:
parent
1ed60ee41b
commit
ad2c18b0f2
6 changed files with 25 additions and 53 deletions
|
|
@ -77,7 +77,7 @@ const nsIDM = Ci.nsIDownloadManager;
|
|||
const kDownloadsStringBundleUrl =
|
||||
"chrome://browser/locale/downloads/downloads.properties";
|
||||
|
||||
const kPrefBdmAlertOnExeOpen = "browser.download.manager.alertOnEXEOpen";
|
||||
const kPrefConfirmOpenExe = "browser.download.confirmOpenExecutable";
|
||||
|
||||
const kDownloadsStringsRequiringFormatting = {
|
||||
sizeWithUnits: true,
|
||||
|
|
@ -530,8 +530,10 @@ this.DownloadsCommon = {
|
|||
if (aFile.isExecutable() && !isWindowsExe) {
|
||||
let showAlert = true;
|
||||
try {
|
||||
showAlert = Services.prefs.getBoolPref(kPrefBdmAlertOnExeOpen);
|
||||
} catch (ex) { }
|
||||
showAlert = Services.prefs.getBoolPref(kPrefConfirmOpenExe);
|
||||
} catch (ex) {
|
||||
// If the preference does not exist, continue with the prompt.
|
||||
}
|
||||
|
||||
if (showAlert) {
|
||||
let name = aFile.leafName;
|
||||
|
|
@ -539,18 +541,11 @@ this.DownloadsCommon = {
|
|||
DownloadsCommon.strings.fileExecutableSecurityWarning(name, name);
|
||||
let title =
|
||||
DownloadsCommon.strings.fileExecutableSecurityWarningTitle;
|
||||
let dontAsk =
|
||||
DownloadsCommon.strings.fileExecutableSecurityWarningDontAsk;
|
||||
|
||||
let checkbox = { value: false };
|
||||
let open = Services.prompt.confirmCheck(aOwnerWindow, title, message,
|
||||
dontAsk, checkbox);
|
||||
let open = Services.prompt.confirm(aOwnerWindow, title, message);
|
||||
if (!open) {
|
||||
return;
|
||||
}
|
||||
|
||||
Services.prefs.setBoolPref(kPrefBdmAlertOnExeOpen,
|
||||
!checkbox.value);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue