1
0
mirror of https://github.com/roytam1/UXP.git synced 2026-05-26 13:58:49 +00:00

[toolkit] Handle corner case confusion of downloaded files without extension.

See code comment for details.
This commit is contained in:
Moonchild
2020-12-15 11:33:29 +00:00
committed by roytam1
parent 873a58c4d5
commit ef3947ea75
@@ -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) {