Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2339)

Unified Diff: chrome/installer/setup/setup_main.cc

Issue 10912096: C++ reability review for gab. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile errors Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/setup/install_worker_unittest.cc ('k') | chrome/installer/setup/setup_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/setup/setup_main.cc
diff --git a/chrome/installer/setup/setup_main.cc b/chrome/installer/setup/setup_main.cc
index 472cb2a0a5371638c53799b0f8b7893d7851c08b..c101bb5f6c9b8a211c41538a8b3149921406e498 100644
--- a/chrome/installer/setup/setup_main.cc
+++ b/chrome/installer/setup/setup_main.cc
@@ -159,8 +159,8 @@ void AddExistingMultiInstalls(const InstallationState& original_state,
if ((state != NULL) && state->is_multi_install()) {
installer_state->AddProductFromState(type, *state);
VLOG(1) << "Product already installed and must be included: "
- << BrowserDistribution::GetSpecificDistribution(
- type)->GetAppShortCutName();
+ << BrowserDistribution::GetSpecificDistribution(type)->
+ GetAppShortCutName();
}
}
}
@@ -214,16 +214,17 @@ installer::InstallStatus RenameChromeExecutables(
install_list.get());
}
// old_chrome.exe is still in use in most cases, so ignore failures here.
- install_list->AddDeleteTreeWorkItem(chrome_old_exe, temp_path.path())
- ->set_ignore_failure(true);
+ install_list->AddDeleteTreeWorkItem(chrome_old_exe, temp_path.path())->
+ set_ignore_failure(true);
// Add work items to delete the "opv", "cpv", and "cmd" values from all
// products we're operating on (which including the multi-install binaries).
const Products& products = installer_state->products();
HKEY reg_root = installer_state->root_key();
string16 version_key;
- for (size_t i = 0; i < products.size(); ++i) {
- version_key = products[i]->distribution()->GetVersionKey();
+ for (Products::const_iterator it = products.begin(); it < products.end();
+ ++it) {
+ version_key = (*it)->distribution()->GetVersionKey();
install_list->AddDeleteRegValueWorkItem(
reg_root, version_key, google_update::kRegOldVersionField);
install_list->AddDeleteRegValueWorkItem(
@@ -402,7 +403,7 @@ bool CheckMultiInstallConditions(const InstallationState& original_state,
// This is an optimistic operation: if a SxS install of Chrome Frame
// is already present, don't touch it; if a multi-install of Chrome
// Frame is present, preserve its settings (ready-mode).
- if (cf_state != NULL) {
+ if (cf_state) {
installer_state->RemoveProduct(chrome_frame);
chrome_frame = NULL;
if (cf_state->is_multi_install()) {
@@ -542,9 +543,10 @@ bool CheckPreInstallConditions(const InstallationState& original_state,
if (!installer_state->system_install()) {
// This is a user-level installation. Make sure that we are not installing
// on top of an existing system-level installation.
- for (size_t i = 0; i < products.size(); ++i) {
- const Product* product = products[i];
- BrowserDistribution* browser_dist = product->distribution();
+ for (Products::const_iterator it = products.begin(); it < products.end();
+ ++it) {
+ const Product& product = **it;
+ BrowserDistribution* browser_dist = product.distribution();
// Skip over the binaries, as it's okay for them to be at both levels
// for different products.
@@ -568,7 +570,7 @@ bool CheckPreInstallConditions(const InstallationState& original_state,
LOG(ERROR) << "Already installed version "
<< system_level_product_state->version().GetString()
<< " at system-level conflicts with this one at user-level.";
- if (product->is_chrome()) {
+ if (product.is_chrome()) {
// Instruct Google Update to launch the existing system-level Chrome.
// There should be no error dialog.
FilePath install_path(installer::GetChromeInstallPath(true, // system
@@ -696,17 +698,19 @@ installer::InstallStatus InstallProductsHelper(
COMPILE_ASSERT(
sizeof(higher_products) * 8 > BrowserDistribution::NUM_TYPES,
too_many_distribution_types_);
- for (size_t i = 0; i < installer_state.products().size(); ++i) {
- const Product* product = installer_state.products()[i];
+ const Products& products = installer_state.products();
+ for (Products::const_iterator it = products.begin(); it < products.end();
+ ++it) {
+ const Product& product = **it;
const ProductState* product_state =
original_state.GetProductState(system_install,
- product->distribution()->GetType());
+ product.distribution()->GetType());
if (product_state != NULL &&
(product_state->version().CompareTo(*installer_version) > 0)) {
LOG(ERROR) << "Higher version of "
- << product->distribution()->GetAppShortCutName()
+ << product.distribution()->GetAppShortCutName()
<< " is already installed.";
- higher_products |= (1 << product->distribution()->GetType());
+ higher_products |= (1 << product.distribution()->GetType());
}
}
@@ -746,9 +750,10 @@ installer::InstallStatus InstallProductsHelper(
if (proceed_with_installation) {
FilePath prefs_source_path(cmd_line.GetSwitchValueNative(
installer::switches::kInstallerData));
- install_status = installer::InstallOrUpdateProduct(original_state,
- installer_state, cmd_line.GetProgram(), archive_to_copy,
- temp_path.path(), prefs_source_path, prefs, *installer_version);
+ install_status = installer::InstallOrUpdateProduct(
+ original_state, installer_state, cmd_line.GetProgram(),
+ archive_to_copy, temp_path.path(), prefs_source_path, prefs,
+ *installer_version);
int install_msg_base = IDS_INSTALL_FAILED_BASE;
string16 chrome_exe;
@@ -837,10 +842,11 @@ installer::InstallStatus InstallProductsHelper(
setup_path = installer_state.GetInstallerDirectory(*installer_version)
.Append(setup_path.BaseName());
}
- for (size_t i = 0; i < products.size(); ++i) {
- const Product* product = products[i];
- product->distribution()->LaunchUserExperiment(setup_path,
- install_status, *installer_version, *product, system_install);
+ for (Products::const_iterator it = products.begin(); it < products.end();
+ ++it) {
+ const Product& product = **it;
+ product.distribution()->LaunchUserExperiment(setup_path,
+ install_status, *installer_version, product, system_install);
}
}
}
@@ -879,8 +885,8 @@ installer::InstallStatus InstallProducts(
installer_state->UpdateStage(installer::PRECONDITIONS);
// The stage provides more fine-grained information than -multifail, so remove
// the -multifail suffix from the Google Update "ap" value.
- BrowserDistribution::GetSpecificDistribution(installer_state->state_type())
- ->UpdateInstallStatus(system_install, archive_type, install_status);
+ BrowserDistribution::GetSpecificDistribution(installer_state->state_type())->
+ UpdateInstallStatus(system_install, archive_type, install_status);
if (CheckPreInstallConditions(original_state, installer_state,
&install_status)) {
VLOG(1) << "Installing to " << installer_state->target_path().value();
@@ -893,9 +899,9 @@ installer::InstallStatus InstallProducts(
const Products& products = installer_state->products();
- for (size_t i = 0; i < products.size(); ++i) {
- const Product* product = products[i];
- product->distribution()->UpdateInstallStatus(
+ for (Products::const_iterator it = products.begin(); it < products.end();
+ ++it) {
+ (*it)->distribution()->UpdateInstallStatus(
system_install, archive_type, install_status);
}
@@ -922,8 +928,9 @@ installer::InstallStatus UninstallProduct(
return installer::CHROME_NOT_INSTALLED;
}
- return installer::UninstallProduct(original_state, installer_state,
- cmd_line.GetProgram(), product, remove_all, force_uninstall, cmd_line);
+ return installer::UninstallProduct(
+ original_state, installer_state, cmd_line.GetProgram(), product,
+ remove_all, force_uninstall, cmd_line);
}
// Tell Google Update that an uninstall has taken place. This gives it a chance
@@ -987,12 +994,11 @@ installer::InstallStatus UninstallProducts(
const bool remove_all = !cmd_line.HasSwitch(
installer::switches::kDoNotRemoveSharedItems);
- for (size_t i = 0;
- install_status != installer::UNINSTALL_CANCELLED &&
- i < products.size();
- ++i) {
+ for (Products::const_iterator it = products.begin();
+ install_status != installer::UNINSTALL_CANCELLED && it < products.end();
+ ++it) {
prod_status = UninstallProduct(original_state, installer_state,
- cmd_line, remove_all, force, *products[i]);
+ cmd_line, remove_all, force, **it);
if (prod_status != installer::UNINSTALL_SUCCESSFUL)
install_status = prod_status;
}
@@ -1073,8 +1079,8 @@ bool HandleNonInstallCmdLineOptions(const InstallationState& original_state,
*exit_code = InstallUtil::GetInstallReturnCode(status);
if (*exit_code) {
LOG(WARNING) << "setup.exe patching failed.";
- installer_state->WriteInstallerResult(status, IDS_SETUP_PATCH_FAILED_BASE,
- NULL);
+ installer_state->WriteInstallerResult(
+ status, IDS_SETUP_PATCH_FAILED_BASE, NULL);
}
// We will be exiting normally, so clear the stage indicator.
installer_state->UpdateStage(installer::NO_STAGE);
@@ -1133,8 +1139,9 @@ bool HandleNonInstallCmdLineOptions(const InstallationState& original_state,
// ShellUtil::RegisterChromeForProtocol performs all registration
// done by ShellUtil::RegisterChromeBrowser, as well as registering
// with Windows as capable of handling the supplied protocol.
- if (ShellUtil::RegisterChromeForProtocol(chrome_install->distribution(),
- chrome_exe, suffix, protocol, false))
+ if (ShellUtil::RegisterChromeForProtocol(
+ chrome_install->distribution(), chrome_exe, suffix, protocol,
+ false))
status = installer::IN_USE_UPDATED;
} else {
if (ShellUtil::RegisterChromeBrowser(chrome_install->distribution(),
@@ -1150,14 +1157,14 @@ bool HandleNonInstallCmdLineOptions(const InstallationState& original_state,
// and exit.
*exit_code = RenameChromeExecutables(original_state, installer_state);
} else if (cmd_line.HasSwitch(
- installer::switches::kRemoveChromeRegistration)) {
+ installer::switches::kRemoveChromeRegistration)) {
// This is almost reverse of --register-chrome-browser option above.
// Here we delete Chrome browser registration. This option should only
// be used when setup.exe is launched with admin rights. We do not
// make any user specific changes in this option.
string16 suffix;
if (cmd_line.HasSwitch(
- installer::switches::kRegisterChromeBrowserSuffix)) {
+ installer::switches::kRegisterChromeBrowserSuffix)) {
suffix = cmd_line.GetSwitchValueNative(
installer::switches::kRegisterChromeBrowserSuffix);
}
@@ -1191,19 +1198,21 @@ bool HandleNonInstallCmdLineOptions(const InstallationState& original_state,
*exit_code = installer::UNKNOWN_STATUS;
} else {
const Products& products = installer_state->products();
- for (size_t i = 0; i < products.size(); ++i) {
- const Product* product = products[i];
- BrowserDistribution* browser_dist = product->distribution();
- browser_dist->InactiveUserToastExperiment(flavor,
- ASCIIToUTF16(experiment_group),
- *product, installer_state->target_path());
+ for (Products::const_iterator it = products.begin(); it < products.end();
+ ++it) {
+ const Product& product = **it;
+ BrowserDistribution* browser_dist = product.distribution();
+ browser_dist->InactiveUserToastExperiment(
+ flavor, ASCIIToUTF16(experiment_group), product,
+ installer_state->target_path());
}
}
} else if (cmd_line.HasSwitch(installer::switches::kSystemLevelToast)) {
const Products& products = installer_state->products();
- for (size_t i = 0; i < products.size(); ++i) {
- const Product* product = products[i];
- BrowserDistribution* browser_dist = product->distribution();
+ for (Products::const_iterator it = products.begin(); it < products.end();
+ ++it) {
+ const Product& product = **it;
+ BrowserDistribution* browser_dist = product.distribution();
// We started as system-level and have been re-launched as user level
// to continue with the toast experiment.
Version installed_version;
@@ -1215,7 +1224,7 @@ bool HandleNonInstallCmdLineOptions(const InstallationState& original_state,
} else {
browser_dist->LaunchUserExperiment(cmd_line.GetProgram(),
installer::REENTRY_SYS_UPDATE,
- installed_version, *product, true);
+ installed_version, product, true);
}
}
} else if (cmd_line.HasSwitch(
@@ -1301,8 +1310,8 @@ class AutoCom {
google_breakpad::CustomClientInfo* GetCustomInfo(const wchar_t* exe_path) {
string16 product;
string16 version;
- scoped_ptr<FileVersionInfo>
- version_info(FileVersionInfo::CreateFileVersionInfo(FilePath(exe_path)));
+ scoped_ptr<FileVersionInfo> version_info(
+ FileVersionInfo::CreateFileVersionInfo(FilePath(exe_path)));
if (version_info.get()) {
version = version_info->product_version();
product = version_info->product_short_name();
@@ -1397,16 +1406,16 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance,
// error message and get out.
if (!InstallUtil::IsOSSupported()) {
LOG(ERROR) << "Chrome only supports Windows XP or later.";
- installer_state.WriteInstallerResult(installer::OS_NOT_SUPPORTED,
- IDS_INSTALL_OS_NOT_SUPPORTED_BASE, NULL);
+ installer_state.WriteInstallerResult(
+ installer::OS_NOT_SUPPORTED, IDS_INSTALL_OS_NOT_SUPPORTED_BASE, NULL);
return installer::OS_NOT_SUPPORTED;
}
// Initialize COM for use later.
AutoCom auto_com;
if (!auto_com.Init(system_install)) {
- installer_state.WriteInstallerResult(installer::OS_ERROR,
- IDS_INSTALL_OS_ERROR_BASE, NULL);
+ installer_state.WriteInstallerResult(
+ installer::OS_ERROR, IDS_INSTALL_OS_ERROR_BASE, NULL);
return installer::OS_ERROR;
}
@@ -1417,8 +1426,7 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance,
cmd_line.HasSwitch(installer::switches::kForceUninstall) ||
cmd_line.HasSwitch(installer::switches::kMakeChromeDefault) ||
cmd_line.HasSwitch(installer::switches::kRegisterChromeBrowser) ||
- cmd_line.HasSwitch(
- installer::switches::kRemoveChromeRegistration) ||
+ cmd_line.HasSwitch(installer::switches::kRemoveChromeRegistration) ||
cmd_line.HasSwitch(installer::switches::kInactiveUserToast) ||
cmd_line.HasSwitch(installer::switches::kSystemLevelToast) ||
cmd_line.HasSwitch(installer::switches::kChromeFrameQuickEnable)) {
@@ -1427,9 +1435,10 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance,
}
int exit_code = 0;
- if (HandleNonInstallCmdLineOptions(original_state, cmd_line, &installer_state,
- &exit_code))
+ if (HandleNonInstallCmdLineOptions(
+ original_state, cmd_line, &installer_state, &exit_code)) {
return exit_code;
+ }
if (system_install && !IsUserAnAdmin()) {
if (base::win::GetVersion() >= base::win::VERSION_VISTA &&
@@ -1444,6 +1453,7 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance,
// elevation.
if (!new_cmd.HasSwitch(installer::switches::kSystemLevel))
new_cmd.AppendSwitch(installer::switches::kSystemLevel);
+
DWORD exit_code = installer::UNKNOWN_STATUS;
InstallUtil::ExecuteExeAsAdmin(new_cmd, &exit_code);
return exit_code;
@@ -1458,12 +1468,12 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance,
installer::InstallStatus install_status = installer::UNKNOWN_STATUS;
// If --uninstall option is given, uninstall the identified product(s)
if (is_uninstall) {
- install_status = UninstallProducts(original_state, installer_state,
- cmd_line);
+ install_status =
+ UninstallProducts(original_state, installer_state, cmd_line);
} else {
// If --uninstall option is not specified, we assume it is install case.
- install_status = InstallProducts(original_state, cmd_line, prefs,
- &installer_state);
+ install_status =
+ InstallProducts(original_state, cmd_line, prefs, &installer_state);
}
// Validate that the machine is now in a good state following the operation.
@@ -1487,8 +1497,9 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance,
// uninstalled.
const Products& products = installer_state.products();
int num_products = 0;
- for (size_t i = 0; i < products.size(); ++i) {
- if (!products[i]->is_chrome_binaries())
+ for (Products::const_iterator it = products.begin(); it < products.end();
+ ++it) {
+ if (!(*it)->is_chrome_binaries())
++num_products;
}
if (num_products == 1U) {
« no previous file with comments | « chrome/installer/setup/install_worker_unittest.cc ('k') | chrome/installer/setup/setup_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698