diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-17 16:49:56 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-17 16:49:56 +0000 |
commit | 7b3add92ed523c8ac0edc37c9b90f1bd13c3c257 (patch) | |
tree | 37bdd92f423621ed3aeaf86b3791ce88b57188d0 /chrome | |
parent | 550978b79464dc6bc08c02439d1490cf99c661a4 (diff) | |
download | chromium_src-7b3add92ed523c8ac0edc37c9b90f1bd13c3c257.zip chromium_src-7b3add92ed523c8ac0edc37c9b90f1bd13c3c257.tar.gz chromium_src-7b3add92ed523c8ac0edc37c9b90f1bd13c3c257.tar.bz2 |
Remove the default usage of --force-uninstall for Chrome Frame uninstallation. Restore the original intent of the --force-uninstall flag, in that it guarantees completely silent uninstalls.
BUG=None
TEST=Both Chrome and Chrome Frame uninstalls are completely silent if this flag is passed.
Review URL: http://codereview.chromium.org/500079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34833 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/installer/setup/install.cc | 2 | ||||
-rw-r--r-- | chrome/installer/setup/setup_main.cc | 11 | ||||
-rw-r--r-- | chrome/installer/setup/uninstall.cc | 3 |
3 files changed, 8 insertions, 8 deletions
diff --git a/chrome/installer/setup/install.cc b/chrome/installer/setup/install.cc index 143f5ba..9b36b20 100644 --- a/chrome/installer/setup/install.cc +++ b/chrome/installer/setup/install.cc @@ -94,8 +94,6 @@ void AppendUninstallCommandLineFlags(std::wstring* uninstall_cmd_line, if (InstallUtil::IsChromeFrameProcess()) { uninstall_cmd_line->append(L" --"); - uninstall_cmd_line->append(installer_util::switches::kForceUninstall); - uninstall_cmd_line->append(L" --"); uninstall_cmd_line->append(installer_util::switches::kDeleteProfile); uninstall_cmd_line->append(L" --"); uninstall_cmd_line->append(installer_util::switches::kChromeFrame); diff --git a/chrome/installer/setup/setup_main.cc b/chrome/installer/setup/setup_main.cc index 7e4efcc..d1bb152 100644 --- a/chrome/installer/setup/setup_main.cc +++ b/chrome/installer/setup/setup_main.cc @@ -596,7 +596,9 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance, BrowserDistribution* dist = BrowserDistribution::GetDistribution(); - if (InstallUtil::IsChromeFrameProcess()) { + if (InstallUtil::IsChromeFrameProcess() && + !parsed_command_line.HasSwitch( + installer_util::switches::kForceUninstall)) { if (install_status == installer_util::UNINSTALL_REQUIRES_REBOOT) { ShowRebootDialog(); } else if (parsed_command_line.HasSwitch( @@ -609,10 +611,9 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance, } } - if (install_status == installer_util::UNINSTALL_REQUIRES_REBOOT) { - install_status = installer_util::UNINSTALL_SUCCESSFUL; - } - CoUninitialize(); + // Note that we allow the status installer_util::UNINSTALL_REQUIRES_REBOOT + // to pass through, since this is only returned on uninstall which is never + // invoked directly by Google Update. return dist->GetInstallReturnCode(install_status); } diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc index 16c07c1..b943e87 100644 --- a/chrome/installer/setup/uninstall.cc +++ b/chrome/installer/setup/uninstall.cc @@ -438,7 +438,8 @@ installer_util::InstallStatus installer_setup::UninstallChrome( // do silent uninstall. Try to close all running Chrome instances. if (!InstallUtil::IsChromeFrameProcess()) CloseAllChromeProcesses(); - } else { // no --force-uninstall so lets show some UI dialog boxes. + } else if (!InstallUtil::IsChromeFrameProcess()) { + // no --force-uninstall so lets show some UI dialog boxes. status = IsChromeActiveOrUserCancelled(system_uninstall); if (status != installer_util::UNINSTALL_CONFIRMED && status != installer_util::UNINSTALL_DELETE_PROFILE) |