diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2017-10-06 20:12:54 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-02-08 11:58:23 +0100 |
commit | b62fce0dc0c77a5788c331db32b3996e4020e2a5 (patch) | |
tree | 8cb1a4758b16d9caae55f525b73f5fca3824b4f7 /browser | |
parent | bfa65f5d5f4fc1a1330acc91945d0587ddf65104 (diff) | |
download | uxp-b62fce0dc0c77a5788c331db32b3996e4020e2a5.tar.gz |
Confirm launch of executables other than .exe on Windows
Diffstat (limited to 'browser')
-rw-r--r-- | browser/components/downloads/DownloadsCommon.jsm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/browser/components/downloads/DownloadsCommon.jsm b/browser/components/downloads/DownloadsCommon.jsm index b6684817d9..90f14f2d86 100644 --- a/browser/components/downloads/DownloadsCommon.jsm +++ b/browser/components/downloads/DownloadsCommon.jsm @@ -42,6 +42,8 @@ XPCOMUtils.defineLazyModuleGetter(this, "NetUtil", "resource://gre/modules/NetUtil.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "PluralForm", "resource://gre/modules/PluralForm.jsm"); +XPCOMUtils.defineLazyModuleGetter(this, "AppConstants", + "resource://gre/modules/AppConstants.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "Downloads", "resource://gre/modules/Downloads.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "DownloadUIHelper", @@ -460,8 +462,12 @@ this.DownloadsCommon = { throw new Error("aOwnerWindow must be a dom-window object"); } + let isWindowsExe = AppConstants.platform == "win" && + aFile.leafName.toLowerCase().endsWith(".exe"); + let promiseShouldLaunch; - if (aFile.isExecutable()) { + // Don't prompt on Windows for .exe since there will be a native prompt. + if (aFile.isExecutable() && !isWindowsExe) { // We get a prompter for the provided window here, even though anchoring // to the most recently active window should work as well. promiseShouldLaunch = |