зеркало из 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 |
||
---|---|---|
.. | ||
android | ||
docs | ||
mac | ||
tests | ||
uikit | ||
unix | ||
win | ||
ContentHandlerService.cpp | ||
ContentHandlerService.h | ||
DBusHelpers.h | ||
ExternalHelperAppChild.cpp | ||
ExternalHelperAppChild.h | ||
ExternalHelperAppParent.cpp | ||
ExternalHelperAppParent.h | ||
HandlerService.js | ||
HandlerService.manifest | ||
HandlerServiceChild.h | ||
HandlerServiceParent.cpp | ||
HandlerServiceParent.h | ||
PExternalHelperApp.ipdl | ||
PHandlerService.ipdl | ||
WebHandlerApp.jsm | ||
components.conf | ||
moz.build | ||
nsCExternalHandlerService.idl | ||
nsContentHandlerApp.h | ||
nsDBusHandlerApp.cpp | ||
nsDBusHandlerApp.h | ||
nsExternalHelperAppService.cpp | ||
nsExternalHelperAppService.h | ||
nsExternalProtocolHandler.cpp | ||
nsExternalProtocolHandler.h | ||
nsIContentDispatchChooser.idl | ||
nsIExternalHelperAppService.idl | ||
nsIExternalProtocolService.idl | ||
nsIExternalURLHandlerService.idl | ||
nsIHandlerService.idl | ||
nsIHelperAppLauncherDialog.idl | ||
nsISharingHandlerApp.idl | ||
nsLocalHandlerApp.cpp | ||
nsLocalHandlerApp.h | ||
nsMIMEInfoChild.h | ||
nsMIMEInfoImpl.cpp | ||
nsMIMEInfoImpl.h | ||
nsOSHelperAppServiceChild.cpp | ||
nsOSHelperAppServiceChild.h |