mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
[toolkit] Handle corner case confusion of downloaded files without extension.
See code comment for details.
This commit is contained in:
parent
873a58c4d5
commit
ef3947ea75
1 changed files with 16 additions and 0 deletions
|
|
@ -717,6 +717,22 @@ this.DownloadIntegration = {
|
|||
return;
|
||||
}
|
||||
|
||||
#ifdef XP_WIN
|
||||
// When a file has no extension, and there's an executable file with the
|
||||
// same name in the same folder, the Windows shell can get confused.
|
||||
// For this reason, we show the file in the containing folder instead of
|
||||
// trying to open it.
|
||||
// We also don't trust mimeinfo; it could be a type we can forward to a
|
||||
// system handler, but it could also be an executable type, and we
|
||||
// don't have an exhaustive list with all of them.
|
||||
if (!fileExtension) {
|
||||
// We can't check for the existence of a same-name file with every
|
||||
// possible executable extension, so this is a catch-all.
|
||||
this.showContainingDirectory(aDownload.target.path);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
// No custom application chosen, let's launch the file with the default
|
||||
// handler. First, let's try to launch it through the MIME service.
|
||||
if (mimeInfo) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue