| Index: chrome/installer/util/shell_util.h
|
| ===================================================================
|
| --- chrome/installer/util/shell_util.h (revision 111142)
|
| +++ chrome/installer/util/shell_util.h (working copy)
|
| @@ -20,6 +20,10 @@
|
| class BrowserDistribution;
|
| class FilePath;
|
|
|
| +namespace base {
|
| +class DictionaryValue;
|
| +}
|
| +
|
| // This is a utility class that provides common shell integration methods
|
| // that can be used by installer as well as Chrome.
|
| class ShellUtil {
|
| @@ -87,18 +91,26 @@
|
| static bool AdminNeededForRegistryCleanup(BrowserDistribution* dist,
|
| const std::wstring& suffix);
|
|
|
| - // Create Chrome shortcut on Desktop
|
| - // If shell_change is CURRENT_USER, the shortcut is created in the
|
| - // Desktop folder of current user's profile.
|
| - // If shell_change is SYSTEM_LEVEL, the shortcut is created in the
|
| - // Desktop folder of "All Users" profile.
|
| - // If alternate is true, an alternate text for the shortcut is used.
|
| - // create_new: If false, will only update the shortcut. If true, the function
|
| - // will create a new shortcut if it doesn't exist already.
|
| + // Creates Chrome shortcut on the Desktop.
|
| + // |dist| gives the type of browser distribution currently in use.
|
| + // |chrome_exe| provides the target path information.
|
| + // |description| provides the shortcut's "comment" property.
|
| + // |appended_name| provides a string to be appended to the distribution name,
|
| + // and can be the empty string.
|
| + // |arguments| gives a set of arguments to be passed to the executable.
|
| + // If |shell_change| is CURRENT_USER, the shortcut is created in the
|
| + // Desktop folder of current user's profile.
|
| + // If |shell_change| is SYSTEM_LEVEL, the shortcut is created in the
|
| + // Desktop folder of the "All Users" profile.
|
| + // If |alternate| is true, an alternate text for the shortcut is used.
|
| + // If |create_new| is false, an existing shortcut will be updated, but if
|
| + // no shortcut exists, it will not be created.
|
| // Returns true iff the method causes a shortcut to be created / updated.
|
| static bool CreateChromeDesktopShortcut(BrowserDistribution* dist,
|
| const std::wstring& chrome_exe,
|
| const std::wstring& description,
|
| + const std::wstring& appended_name,
|
| + const std::wstring& arguments,
|
| ShellChange shell_change,
|
| bool alternate,
|
| bool create_new);
|
| @@ -129,11 +141,14 @@
|
| // chrome_exe: the full path to chrome.exe
|
| static std::wstring GetChromeShellOpenCmd(const std::wstring& chrome_exe);
|
|
|
| - // Returns the localized name of Chrome shortcut. If |alternate| is true
|
| - // it returns a second localized text that is better suited for certain
|
| - // scenarios.
|
| + // Returns the localized name of Chrome shortcut in |shortcut|. If
|
| + // |appended_name| is not empty, it is included in the shortcut name. If
|
| + // |alternate| is true, a second localized text that is better suited for
|
| + // certain scenarios is used.
|
| static bool GetChromeShortcutName(BrowserDistribution* dist,
|
| - std::wstring* shortcut, bool alternate);
|
| + bool alternate,
|
| + const std::wstring& appended_name,
|
| + std::wstring* shortcut);
|
|
|
| // Gets the desktop path for the current user or all users (if system_level
|
| // is true) and returns it in 'path' argument. Return true if successful,
|
| @@ -250,8 +265,15 @@
|
| // If alternate is true, the shortcut with the alternate name is removed. See
|
| // CreateChromeDesktopShortcut() for more information.
|
| static bool RemoveChromeDesktopShortcut(BrowserDistribution* dist,
|
| - int shell_change, bool alternate);
|
| + int shell_change,
|
| + bool alternate);
|
|
|
| + // Removes a set of existing Chrome desktop shortcuts. |appended_names| is a
|
| + // list of shortcut file names as obtained from
|
| + // ShellUtil::GetChromeShortcutName.
|
| + static bool RemoveChromeDesktopShortcutsWithAppendedNames(
|
| + const std::vector<std::wstring>& appended_names);
|
| +
|
| // Remove Chrome shortcut from Quick Launch Bar.
|
| // If shell_change is CURRENT_USER, the shortcut is removed from
|
| // the Quick Launch folder of current user's profile.
|
| @@ -261,13 +283,14 @@
|
| int shell_change);
|
|
|
| // Updates shortcut (or creates a new shortcut) at destination given by
|
| - // shortcut to a target given by chrome_exe. The arguments is left NULL
|
| - // for the target and icon is set as icon at index 0 from exe.
|
| + // shortcut to a target given by chrome_exe. The arguments are given by
|
| + // |arguments| for the target and icon is set as icon at index 0 from exe.
|
| // If create_new is set to true, the function will create a new shortcut if
|
| // if doesn't exist.
|
| static bool UpdateChromeShortcut(BrowserDistribution* dist,
|
| const std::wstring& chrome_exe,
|
| const std::wstring& shortcut,
|
| + const std::wstring& arguments,
|
| const std::wstring& description,
|
| bool create_new);
|
|
|
|
|