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

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

Issue 1289333005: Change shortcut install location to non-subdir. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git cl format Created 5 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/setup/install.cc
diff --git a/chrome/installer/setup/install.cc b/chrome/installer/setup/install.cc
index 978646fa60e99b4e4d15ceac4e114a62bb161ee2..0c8bb42621b19c3d4108e2023816aa662deacbfa 100644
--- a/chrome/installer/setup/install.cc
+++ b/chrome/installer/setup/install.cc
@@ -70,7 +70,10 @@ void LogShortcutOperation(ShellUtil::ShortcutLocation location,
case ShellUtil::SHORTCUT_LOCATION_QUICK_LAUNCH:
message.append("Quick Launch ");
break;
- case ShellUtil::SHORTCUT_LOCATION_START_MENU_CHROME_DIR:
+ case ShellUtil::SHORTCUT_LOCATION_START_MENU_ROOT:
+ message.append("Start menu ");
+ break;
+ case ShellUtil::SHORTCUT_LOCATION_START_MENU_CHROME_DIR_DEPRECATED:
message.append("Start menu/" +
base::UTF16ToUTF8(dist->GetStartMenuShortcutSubfolder(
BrowserDistribution::SUBFOLDER_CHROME)) +
@@ -423,9 +426,25 @@ void CreateOrUpdateShortcuts(
ShellUtil::SHELL_SHORTCUT_CREATE_IF_NO_SYSTEM_LEVEL) {
start_menu_properties.set_pin_to_taskbar(!do_not_create_taskbar_shortcut);
}
- ExecuteAndLogShortcutOperation(
- ShellUtil::SHORTCUT_LOCATION_START_MENU_CHROME_DIR, dist,
- start_menu_properties, shortcut_operation);
+
+ // The attempt below to update the stortcut will fail if it does not already
+ // exist at the expected location on disk. First check if it exists in the
+ // previous location (under a subdirectory) and, if so, move it to the new
+ // location.
+ base::FilePath old_shortcut_path;
+ ShellUtil::GetShortcutPath(
+ ShellUtil::SHORTCUT_LOCATION_START_MENU_CHROME_DIR_DEPRECATED, dist,
+ shortcut_level, &old_shortcut_path);
+ if (base::PathExists(old_shortcut_path)) {
+ ShellUtil::MoveExistingShortcut(
+ ShellUtil::SHORTCUT_LOCATION_START_MENU_CHROME_DIR_DEPRECATED,
+ ShellUtil::SHORTCUT_LOCATION_START_MENU_ROOT, dist,
+ start_menu_properties);
+ }
+
+ ExecuteAndLogShortcutOperation(ShellUtil::SHORTCUT_LOCATION_START_MENU_ROOT,
+ dist, start_menu_properties,
+ shortcut_operation);
}
void RegisterChromeOnMachine(const installer::InstallerState& installer_state,

Powered by Google App Engine
This is Rietveld 408576698