| Index: chrome/installer/util/product_operations.h
|
| diff --git a/chrome/installer/util/product_operations.h b/chrome/installer/util/product_operations.h
|
| index 77d094b6293877b1c8b1e56ecf2bf57899d91c19..c826c7e2cc30f11fd7811cb551ac5d68bcb1805a 100644
|
| --- a/chrome/installer/util/product_operations.h
|
| +++ b/chrome/installer/util/product_operations.h
|
| @@ -10,7 +10,9 @@
|
| #include <vector>
|
|
|
| #include "base/files/file_path.h"
|
| +#include "base/string16.h"
|
| #include "chrome/installer/util/shell_util.h"
|
| +#include "chrome/installer/util/util_constants.h"
|
|
|
| class BrowserDistribution;
|
| class CommandLine;
|
| @@ -30,11 +32,11 @@ class ProductOperations {
|
|
|
| // Reads product-specific options from |prefs|, adding them to |options|.
|
| virtual void ReadOptions(const MasterPreferences& prefs,
|
| - std::set<std::wstring>* options) const = 0;
|
| + std::set<string16>* options) const = 0;
|
|
|
| // Reads product-specific options from |command|, adding them to |options|.
|
| virtual void ReadOptions(const CommandLine& command,
|
| - std::set<std::wstring>* options) const = 0;
|
| + std::set<string16>* options) const = 0;
|
|
|
| // A key-file is a file such as a DLL on Windows that is expected to be in use
|
| // when the product is being used. For example "chrome.dll" for Chrome.
|
| @@ -44,28 +46,28 @@ class ProductOperations {
|
| // none of the key files are in use, can the folder be deleted. Note that
|
| // this function does not return a full path to the key file(s), only (a) file
|
| // name(s).
|
| - virtual void AddKeyFiles(const std::set<std::wstring>& options,
|
| + virtual void AddKeyFiles(const std::set<string16>& options,
|
| std::vector<base::FilePath>* key_files) const = 0;
|
|
|
| // Adds to |com_dll_list| the list of COM DLLs that are to be registered
|
| // and/or unregistered. The list may be empty.
|
| virtual void AddComDllList(
|
| - const std::set<std::wstring>& options,
|
| + const std::set<string16>& options,
|
| std::vector<base::FilePath>* com_dll_list) const = 0;
|
|
|
| // Given a command line, appends the set of product-specific flags. These are
|
| // required for product-specific uninstall commands, but are of use for any
|
| // invocation of setup.exe for the product.
|
| - virtual void AppendProductFlags(const std::set<std::wstring>& options,
|
| + virtual void AppendProductFlags(const std::set<string16>& options,
|
| CommandLine* cmd_line) const = 0;
|
|
|
| // Given a command line, appends the set of product-specific rename flags.
|
| - virtual void AppendRenameFlags(const std::set<std::wstring>& options,
|
| + virtual void AppendRenameFlags(const std::set<string16>& options,
|
| CommandLine* cmd_line) const = 0;
|
|
|
| // Adds or removes product-specific flags in |channel_info|. Returns true if
|
| // |channel_info| is modified.
|
| - virtual bool SetChannelFlags(const std::set<std::wstring>& options,
|
| + virtual bool SetChannelFlags(const std::set<string16>& options,
|
| bool set,
|
| ChannelInfo* channel_info) const = 0;
|
|
|
| @@ -73,7 +75,7 @@ class ProductOperations {
|
| // of installed applications for this product. This does not test for use of
|
| // MSI; see InstallerState::is_msi.
|
| virtual bool ShouldCreateUninstallEntry(
|
| - const std::set<std::wstring>& options) const = 0;
|
| + const std::set<string16>& options) const = 0;
|
|
|
| // Modifies a ShellUtil::ShortcutProperties object by assigning default values
|
| // to unintialized members.
|
| @@ -81,6 +83,14 @@ class ProductOperations {
|
| BrowserDistribution* dist,
|
| const base::FilePath& target_exe,
|
| ShellUtil::ShortcutProperties* properties) const = 0;
|
| +
|
| + // After an install or upgrade the user might qualify to participate in an
|
| + // experiment. This function determines if the user qualifies and if so it
|
| + // sets the wheels in motion or in simple cases does the experiment itself.
|
| + virtual void LaunchUserExperiment(const base::FilePath& setup_path,
|
| + const std::set<string16>& options,
|
| + InstallStatus status,
|
| + bool system_level) const = 0;
|
| };
|
|
|
| } // namespace installer
|
|
|