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

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

Issue 10836247: Refactor ShellUtil shortcut code -- single multi-purpose methods as opposed to many slighlty diffe… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: brand new shell_util shortcut API + TESTS :)! Created 8 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.h
diff --git a/chrome/installer/setup/install.h b/chrome/installer/setup/install.h
index 51da16415749ef503581ab1be12e7a2890e55458..b444c180e8404f49767cc62d8a53b6d48a1bf4f3 100644
--- a/chrome/installer/setup/install.h
+++ b/chrome/installer/setup/install.h
@@ -25,6 +25,16 @@ class InstallationState;
class InstallerState;
class MasterPreferences;
+enum InstallShortcutOperation {
+ // Create mandatory shortcuts (Start menu, taskbar, and uninstall).
+ INSTALL_SHORTCUT_CREATE_MANDATORY = 0,
+ // Create mandatory shortcuts and desktop + quick launch shortcuts.
+ INSTALL_SHORTCUT_CREATE_ALL,
+ // Replace all shortcuts that still exist with the most recent version of
+ // each individual shortcut.
+ INSTALL_SHORTCUT_REPLACE_EXISTING,
+};
+
// Escape |att_value| as per the XML AttValue production
// (http://www.w3.org/TR/2008/REC-xml-20081126/#NT-AttValue) for a value in
// single quotes.
@@ -36,35 +46,18 @@ void EscapeXmlAttributeValueInSingleQuotes(string16* att_value);
bool CreateVisualElementsManifest(const FilePath& src_path,
const Version& version);
-// This method, if SHORTCUT_CREATE_ALWAYS is specified in |options|, creates
-// Start Menu shortcuts for all users or only for the current user depending on
-// whether it is a system wide install or a user-level install. It also pins
-// the browser shortcut to the current user's taskbar.
-// If SHORTCUT_CREATE_ALWAYS is not specified in |options|: this method only
-// updates existing Start Menu shortcuts.
-// |setup_exe|: The path to the setup.exe stored in <version_dir>\Installer
-// post-install.
-// |options|: bitfield for which the options come from
-// ShellUtil::ChromeShortcutOptions.
-void CreateOrUpdateStartMenuAndTaskbarShortcuts(
- const InstallerState& installer_state,
- const FilePath& setup_exe,
- const Product& product,
- uint32 options);
-
-// This method, if SHORTCUT_CREATE_ALWAYS is specified in |options|, creates
-// Desktop and Quick Launch shortcuts for all users or only for the current user
-// depending on whether it is a system wide install or a user-level install.
-// If SHORTCUT_CREATE_ALWAYS is not specified in |options|: this method only
-// updates existing shortcuts.
-// |options|: bitfield for which the options come from
-// ShellUtil::ChromeShortcutOptions.
-// If SHORTCUT_ALTERNATE is specified in |options|, an alternate shortcut name
-// is used for the Desktop shortcut.
-void CreateOrUpdateDesktopAndQuickLaunchShortcuts(
- const InstallerState& installer_state,
- const Product& product,
- uint32 options);
+// Overwrites shortcuts (desktop, quick launch, start menu, and uninstall link)
+// if they are present on the system.
+// If |install_operation| is a creation command, appropriate shortcuts will be
+// created even if they don't exist.
+// The uninstall link is only created if this is not an MSI install.
+// If creating the Start menu shortcut is successful, it is also pinned to the
+// taskbar.
+void CreateOrUpdateShortcuts(const InstallerState& installer_state,
+ const FilePath& setup_exe,
+ const Product& product,
+ InstallShortcutOperation install_operation,
+ bool alternate_desktop_shortcut);
// Registers Chrome on this machine.
// If |make_chrome_default|, also attempts to make Chrome default (potentially

Powered by Google App Engine
This is Rietveld 408576698