summaryrefslogtreecommitdiffstats
path: root/webkit/default_plugin
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-12 22:15:30 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-12 22:15:30 +0000
commita0edd606ddead87a3330244156302445d0b83012 (patch)
tree039ac10ba8e75451f98429c3cf428f54256e6cc4 /webkit/default_plugin
parent39a248b002d0f41ad816754bb2833eea0aff9c61 (diff)
downloadchromium_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.cc5
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 "