diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-12 22:15:30 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-12 22:15:30 +0000 |
commit | a0edd606ddead87a3330244156302445d0b83012 (patch) | |
tree | 039ac10ba8e75451f98429c3cf428f54256e6cc4 /webkit/default_plugin | |
parent | 39a248b002d0f41ad816754bb2833eea0aff9c61 (diff) | |
download | chromium_src-a0edd606ddead87a3330244156302445d0b83012.zip chromium_src-a0edd606ddead87a3330244156302445d0b83012.tar.gz chromium_src-a0edd606ddead87a3330244156302445d0b83012.tar.bz2 |
Pass in SW_SHOW to ShellExecuteEx as the plugin installers can rely on this flag for displaying UI. The latest flash player installer needs this. Launching this exe without this flag causes the exe to just wait around doing nothing.
As part of this CB we also pass in the current directory in SHELLEXECUTEINFO. This is set to the directory where the plugin installer is downloaded.
This fixes http://code.google.com/p/chromium/issues/detail?id=4346.
Bug=4346
R=nsylvain
Review URL: http://codereview.chromium.org/10650
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5306 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/default_plugin')
-rw-r--r-- | webkit/default_plugin/plugin_impl.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/webkit/default_plugin/plugin_impl.cc b/webkit/default_plugin/plugin_impl.cc index 125599e..fcf1744 100644 --- a/webkit/default_plugin/plugin_impl.cc +++ b/webkit/default_plugin/plugin_impl.cc @@ -618,10 +618,15 @@ LRESULT PluginInstallerImpl::OnCopyData(UINT message, WPARAM wparam, std::wstring file_path = reinterpret_cast<const wchar_t*>(download_file_info->lpData); + std::wstring current_directory = + file_util::GetDirectoryFromPath(file_path); + SHELLEXECUTEINFO shell_execute_info = {0}; shell_execute_info.cbSize = sizeof(shell_execute_info); shell_execute_info.fMask = SEE_MASK_NOCLOSEPROCESS; shell_execute_info.lpFile = file_path.c_str(); + shell_execute_info.lpDirectory = current_directory.c_str(); + shell_execute_info.nShow = SW_SHOW; if (!ShellExecuteEx(&shell_execute_info)) { DLOG(WARNING) << "Failed to launch plugin installer " |