summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-17 16:49:56 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-17 16:49:56 +0000
commit7b3add92ed523c8ac0edc37c9b90f1bd13c3c257 (patch)
tree37bdd92f423621ed3aeaf86b3791ce88b57188d0
parent550978b79464dc6bc08c02439d1490cf99c661a4 (diff)
downloadchromium_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
-rw-r--r--chrome/installer/setup/install.cc2
-rw-r--r--chrome/installer/setup/setup_main.cc11
-rw-r--r--chrome/installer/setup/uninstall.cc3
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)