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

Unified Diff: chrome/installer/util/shell_util.cc

Issue 3817001: CommandLine: remove wstring-based program() accessor (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 2 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
Index: chrome/installer/util/shell_util.cc
diff --git a/chrome/installer/util/shell_util.cc b/chrome/installer/util/shell_util.cc
index 8470a313800e590e40bf87f5d7d172f37e10f3e7..a8242550bfcb1bae209c0fba29a0b18b042103d0 100644
--- a/chrome/installer/util/shell_util.cc
+++ b/chrome/installer/util/shell_util.cc
@@ -298,18 +298,20 @@ bool IsChromeRegistered(const std::wstring& chrome_exe,
// we capture and return.
bool ElevateAndRegisterChrome(const std::wstring& chrome_exe,
const std::wstring& suffix) {
- std::wstring exe_path(file_util::GetDirectoryFromPath(chrome_exe));
- file_util::AppendToPath(&exe_path, installer_util::kSetupExe);
- if (!file_util::PathExists(FilePath::FromWStringHack(exe_path))) {
+ FilePath exe_path =
+ FilePath::FromWStringHack(chrome_exe).DirName()
+ .Append(installer_util::kSetupExe);
+ if (!file_util::PathExists(exe_path)) {
BrowserDistribution* dist = BrowserDistribution::GetDistribution();
HKEY reg_root = InstallUtil::IsPerUserInstall(chrome_exe.c_str()) ?
HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE;
RegKey key(reg_root, dist->GetUninstallRegPath().c_str(), KEY_READ);
- key.ReadValue(installer_util::kUninstallStringField, &exe_path);
- CommandLine command_line = CommandLine::FromString(exe_path);
- exe_path = command_line.program();
+ std::wstring uninstall_string;
+ key.ReadValue(installer_util::kUninstallStringField, &uninstall_string);
+ CommandLine command_line = CommandLine::FromString(uninstall_string);
+ exe_path = command_line.GetProgram();
}
- if (file_util::PathExists(FilePath::FromWStringHack(exe_path))) {
+ if (file_util::PathExists(exe_path)) {
std::wstring params(L"--");
params.append(
ASCIIToWide(installer_util::switches::kRegisterChromeBrowser));
@@ -328,7 +330,7 @@ bool ElevateAndRegisterChrome(const std::wstring& chrome_exe,
}
DWORD ret_val = 0;
- InstallUtil::ExecuteExeAsAdmin(exe_path, params, &ret_val);
+ InstallUtil::ExecuteExeAsAdmin(exe_path.value(), params, &ret_val);
if (ret_val == 0)
return true;
}

Powered by Google App Engine
This is Rietveld 408576698