| Index: chrome/installer/util/work_item.h
|
| diff --git a/chrome/installer/util/work_item.h b/chrome/installer/util/work_item.h
|
| index b19f5c2254e36674d90408504161b376b9c3fd26..a8c53769b9726ab77d1fa4d9f3b9da019efe6fc0 100644
|
| --- a/chrome/installer/util/work_item.h
|
| +++ b/chrome/installer/util/work_item.h
|
| @@ -37,6 +37,12 @@ class FilePath;
|
| // sequence of actions during install/update/uninstall.
|
| class WorkItem {
|
| public:
|
| + // A callback that returns the desired value based on the |existing_value|.
|
| + // |existing_value| will be empty if the value didn't previously exist or
|
| + // existed under a non-string type.
|
| + using GetValueFromExistingCallback =
|
| + base::Callback<std::wstring(const std::wstring& existing_value)>;
|
| +
|
| // All registry operations can be instructed to operate on a specific view
|
| // of the registry by specifying a REGSAM value to the wow64_access parameter.
|
| // The wow64_access parameter can be one of:
|
| @@ -158,6 +164,16 @@ class WorkItem {
|
| int64 value_data,
|
| bool overwrite);
|
|
|
| + // Create a SetRegValueWorkItem that sets a registry value based on the value
|
| + // provided by |get_value_callback| given the existing value under
|
| + // |key_path\value_name|.
|
| + static SetRegValueWorkItem* CreateSetRegValueWorkItem(
|
| + HKEY predefined_root,
|
| + const std::wstring& key_path,
|
| + REGSAM wow64_access,
|
| + const std::wstring& value_name,
|
| + const GetValueFromExistingCallback& get_value_callback);
|
| +
|
| // Add a SelfRegWorkItem that registers or unregisters a DLL at the
|
| // specified path.
|
| static SelfRegWorkItem* CreateSelfRegWorkItem(const std::wstring& dll_path,
|
|
|