зеркало из https://github.com/mozilla/gecko-dev.git
4d2777385a
The launcher process turns on the `PreferSystem32Images` mitigation policy for the browser process. Since the mitigation policy is inherited, a process launched by the browser process also has `PreferSystem32Images`. If an application which does not support `PreferSystem32Images`, such as Skype for Business, is launched via a hyperlink, a custom uri, or a downloaded file, it would fail to launch. Bug 1567614 fixed this issue by introducing `mozilla::ShellExecuteByExplorer` to `nsMIMEInfoWin::LoadUriInternal`. This patch introduces `mozilla::ShellExecuteByExplorer` to two more places. 1. xul!nsLocalFile::Launch This is invoked when a user opens a file from the Download Library, or a user opens a downloaded file with the default application without saving it. 2. xul!nsMIMEInfoWin::LaunchWithFile This is invoked when a user opens a downloaded file with a custom application (configured in about:preference) without saving it. *Why does this patch change worker.js?* The mochitest dom/tests/browser/browser_test_new_window_from_content.js failed if it was executed after dom/serviceworkers/test/browser_download.js in the same batch. This was because browser_download.js launched Notepad to open fake_download.bin.txt, preventing a new window from being opened in the foreground in browser_test_new_window_from_content.js. The test browser_download.js can verify downloaded data without opening an associated application. So this patch adds the content-type to the response header in order not to open Notepad on Windows. Differential Revision: https://phabricator.services.mozilla.com/D52567 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
Base64.cpp | ||
Base64.h | ||
CocoaFileUtils.h | ||
CocoaFileUtils.mm | ||
FileDescriptorFile.cpp | ||
FileDescriptorFile.h | ||
FilePreferences.cpp | ||
FilePreferences.h | ||
FileUtilsWin.cpp | ||
FileUtilsWin.h | ||
InputStreamLengthHelper.cpp | ||
InputStreamLengthHelper.h | ||
InputStreamLengthWrapper.cpp | ||
InputStreamLengthWrapper.h | ||
NonBlockingAsyncInputStream.cpp | ||
NonBlockingAsyncInputStream.h | ||
SlicedInputStream.cpp | ||
SlicedInputStream.h | ||
SnappyCompressOutputStream.cpp | ||
SnappyCompressOutputStream.h | ||
SnappyFrameUtils.cpp | ||
SnappyFrameUtils.h | ||
SnappyUncompressInputStream.cpp | ||
SnappyUncompressInputStream.h | ||
SpecialSystemDirectory.cpp | ||
SpecialSystemDirectory.h | ||
components.conf | ||
crc32c.c | ||
crc32c.h | ||
moz.build | ||
nsAnonymousTemporaryFile.cpp | ||
nsAnonymousTemporaryFile.h | ||
nsAppDirectoryServiceDefs.h | ||
nsAppFileLocationProvider.cpp | ||
nsAppFileLocationProvider.h | ||
nsBinaryStream.cpp | ||
nsBinaryStream.h | ||
nsDirectoryService.cpp | ||
nsDirectoryService.h | ||
nsDirectoryServiceDefs.h | ||
nsDirectoryServiceUtils.h | ||
nsEscape.cpp | ||
nsEscape.h | ||
nsIAsyncInputStream.idl | ||
nsIAsyncOutputStream.idl | ||
nsIBinaryInputStream.idl | ||
nsIBinaryOutputStream.idl | ||
nsICloneableInputStream.idl | ||
nsIConverterInputStream.idl | ||
nsIConverterOutputStream.idl | ||
nsIDirectoryEnumerator.idl | ||
nsIDirectoryService.idl | ||
nsIFile.idl | ||
nsIIOUtil.idl | ||
nsIInputStream.idl | ||
nsIInputStreamLength.idl | ||
nsIInputStreamTee.idl | ||
nsILineInputStream.idl | ||
nsILocalFileMac.idl | ||
nsILocalFileWin.idl | ||
nsIMultiplexInputStream.idl | ||
nsIOUtil.cpp | ||
nsIOUtil.h | ||
nsIObjectInputStream.idl | ||
nsIObjectOutputStream.idl | ||
nsIOutputStream.idl | ||
nsIPipe.idl | ||
nsISafeOutputStream.idl | ||
nsIScriptableBase64Encoder.idl | ||
nsIScriptableInputStream.idl | ||
nsISeekableStream.idl | ||
nsIStorageStream.idl | ||
nsIStreamBufferAccess.idl | ||
nsIStringStream.idl | ||
nsITellableStream.idl | ||
nsIUnicharInputStream.idl | ||
nsIUnicharLineInputStream.idl | ||
nsIUnicharOutputStream.idl | ||
nsInputStreamTee.cpp | ||
nsLinebreakConverter.cpp | ||
nsLinebreakConverter.h | ||
nsLocalFile.h | ||
nsLocalFileCommon.cpp | ||
nsLocalFileCommon.h | ||
nsLocalFileUnix.cpp | ||
nsLocalFileUnix.h | ||
nsLocalFileWin.cpp | ||
nsLocalFileWin.h | ||
nsMultiplexInputStream.cpp | ||
nsMultiplexInputStream.h | ||
nsNativeCharsetUtils.cpp | ||
nsNativeCharsetUtils.h | ||
nsPipe.h | ||
nsPipe3.cpp | ||
nsScriptableBase64Encoder.cpp | ||
nsScriptableBase64Encoder.h | ||
nsScriptableInputStream.cpp | ||
nsScriptableInputStream.h | ||
nsSegmentedBuffer.cpp | ||
nsSegmentedBuffer.h | ||
nsStorageStream.cpp | ||
nsStorageStream.h | ||
nsStreamUtils.cpp | ||
nsStreamUtils.h | ||
nsStringStream.cpp | ||
nsStringStream.h | ||
nsUnicharInputStream.cpp | ||
nsUnicharInputStream.h | ||
nsWildCard.cpp | ||
nsWildCard.h |