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

Side by Side Diff: chrome/installer/util/work_item_list.cc

Issue 282363003: Add WOW64 support to the installer registry work items (Closed) Base URL: https://chromium.googlesource.com/chromium/src
Patch Set: Created 6 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/installer/util/work_item_list.h" 5 #include "chrome/installer/util/work_item_list.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "chrome/installer/util/callback_work_item.h" 9 #include "chrome/installer/util/callback_work_item.h"
10 #include "chrome/installer/util/copy_reg_key_work_item.h" 10 #include "chrome/installer/util/copy_reg_key_work_item.h"
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 base::Callback<bool(const CallbackWorkItem&)> callback) { 78 base::Callback<bool(const CallbackWorkItem&)> callback) {
79 WorkItem* item = WorkItem::CreateCallbackWorkItem(callback); 79 WorkItem* item = WorkItem::CreateCallbackWorkItem(callback);
80 AddWorkItem(item); 80 AddWorkItem(item);
81 return item; 81 return item;
82 } 82 }
83 83
84 WorkItem* WorkItemList::AddCopyRegKeyWorkItem( 84 WorkItem* WorkItemList::AddCopyRegKeyWorkItem(
85 HKEY predefined_root, 85 HKEY predefined_root,
86 const std::wstring& source_key_path, 86 const std::wstring& source_key_path,
87 const std::wstring& dest_key_path, 87 const std::wstring& dest_key_path,
88 CopyOverWriteOption overwrite_option) { 88 CopyOverWriteOption overwrite_option,
89 RegWow64ViewOption reg_wow64_option) {
89 WorkItem* item = WorkItem::CreateCopyRegKeyWorkItem( 90 WorkItem* item = WorkItem::CreateCopyRegKeyWorkItem(
90 predefined_root, source_key_path, dest_key_path, overwrite_option); 91 predefined_root,
92 source_key_path,
93 dest_key_path,
94 overwrite_option,
95 reg_wow64_option);
91 AddWorkItem(item); 96 AddWorkItem(item);
92 return item; 97 return item;
93 } 98 }
94 99
95 WorkItem* WorkItemList::AddCopyTreeWorkItem( 100 WorkItem* WorkItemList::AddCopyTreeWorkItem(
96 const std::wstring& source_path, 101 const std::wstring& source_path,
97 const std::wstring& dest_path, 102 const std::wstring& dest_path,
98 const std::wstring& temp_dir, 103 const std::wstring& temp_dir,
99 CopyOverWriteOption overwrite_option, 104 CopyOverWriteOption overwrite_option,
100 const std::wstring& alternative_path) { 105 const std::wstring& alternative_path) {
101 WorkItem* item = WorkItem::CreateCopyTreeWorkItem( 106 WorkItem* item = WorkItem::CreateCopyTreeWorkItem(
102 base::FilePath(source_path), 107 base::FilePath(source_path),
103 base::FilePath(dest_path), 108 base::FilePath(dest_path),
104 base::FilePath(temp_dir), 109 base::FilePath(temp_dir),
105 overwrite_option, 110 overwrite_option,
106 base::FilePath(alternative_path)); 111 base::FilePath(alternative_path));
107 AddWorkItem(item); 112 AddWorkItem(item);
108 return item; 113 return item;
109 } 114 }
110 115
111 WorkItem* WorkItemList::AddCreateDirWorkItem(const base::FilePath& path) { 116 WorkItem* WorkItemList::AddCreateDirWorkItem(const base::FilePath& path) {
112 WorkItem* item = WorkItem::CreateCreateDirWorkItem(path); 117 WorkItem* item = WorkItem::CreateCreateDirWorkItem(path);
113 AddWorkItem(item); 118 AddWorkItem(item);
114 return item; 119 return item;
115 } 120 }
116 121
117 WorkItem* WorkItemList::AddCreateRegKeyWorkItem(HKEY predefined_root, 122 WorkItem* WorkItemList::AddCreateRegKeyWorkItem(
118 const std::wstring& path) { 123 HKEY predefined_root,
119 WorkItem* item = WorkItem::CreateCreateRegKeyWorkItem(predefined_root, path); 124 const std::wstring& path,
125 RegWow64ViewOption reg_wow64_option) {
126 WorkItem* item = WorkItem::CreateCreateRegKeyWorkItem(
127 predefined_root,
128 path,
129 reg_wow64_option);
120 AddWorkItem(item); 130 AddWorkItem(item);
121 return item; 131 return item;
122 } 132 }
123 133
124 WorkItem* WorkItemList::AddDeleteRegKeyWorkItem(HKEY predefined_root, 134 WorkItem* WorkItemList::AddDeleteRegKeyWorkItem(
125 const std::wstring& path) { 135 HKEY predefined_root,
126 WorkItem* item = WorkItem::CreateDeleteRegKeyWorkItem(predefined_root, path); 136 const std::wstring& path,
137 RegWow64ViewOption reg_wow64_option) {
138 WorkItem* item = WorkItem::CreateDeleteRegKeyWorkItem(
139 predefined_root,
140 path,
141 reg_wow64_option);
127 AddWorkItem(item); 142 AddWorkItem(item);
128 return item; 143 return item;
129 } 144 }
130 145
131 WorkItem* WorkItemList::AddDeleteRegValueWorkItem( 146 WorkItem* WorkItemList::AddDeleteRegValueWorkItem(
132 HKEY predefined_root, 147 HKEY predefined_root,
133 const std::wstring& key_path, 148 const std::wstring& key_path,
134 const std::wstring& value_name) { 149 const std::wstring& value_name,
135 WorkItem* item = WorkItem::CreateDeleteRegValueWorkItem(predefined_root, 150 RegWow64ViewOption reg_wow64_option) {
136 key_path, value_name); 151 WorkItem* item = WorkItem::CreateDeleteRegValueWorkItem(
152 predefined_root,
153 key_path,
154 value_name,
155 reg_wow64_option);
137 AddWorkItem(item); 156 AddWorkItem(item);
138 return item; 157 return item;
139 } 158 }
140 159
141 WorkItem* WorkItemList::AddDeleteTreeWorkItem( 160 WorkItem* WorkItemList::AddDeleteTreeWorkItem(
142 const base::FilePath& root_path, 161 const base::FilePath& root_path,
143 const base::FilePath& temp_path, 162 const base::FilePath& temp_path,
144 const std::vector<base::FilePath>& key_paths) { 163 const std::vector<base::FilePath>& key_paths) {
145 WorkItem* item = WorkItem::CreateDeleteTreeWorkItem(root_path, temp_path, 164 WorkItem* item = WorkItem::CreateDeleteTreeWorkItem(root_path, temp_path,
146 key_paths); 165 key_paths);
(...skipping 17 matching lines...) Expand all
164 duplicate_option); 183 duplicate_option);
165 AddWorkItem(item); 184 AddWorkItem(item);
166 return item; 185 return item;
167 } 186 }
168 187
169 WorkItem* WorkItemList::AddSetRegValueWorkItem( 188 WorkItem* WorkItemList::AddSetRegValueWorkItem(
170 HKEY predefined_root, 189 HKEY predefined_root,
171 const std::wstring& key_path, 190 const std::wstring& key_path,
172 const std::wstring& value_name, 191 const std::wstring& value_name,
173 const std::wstring& value_data, 192 const std::wstring& value_data,
174 bool overwrite) { 193 bool overwrite,
194 RegWow64ViewOption reg_wow64_option) {
175 WorkItem* item = WorkItem::CreateSetRegValueWorkItem(predefined_root, 195 WorkItem* item = WorkItem::CreateSetRegValueWorkItem(predefined_root,
176 key_path, 196 key_path,
177 value_name, 197 value_name,
178 value_data, 198 value_data,
179 overwrite); 199 overwrite,
200 reg_wow64_option);
180 AddWorkItem(item); 201 AddWorkItem(item);
181 return item; 202 return item;
182 } 203 }
183 204
184 WorkItem* WorkItemList::AddSetRegValueWorkItem(HKEY predefined_root, 205 WorkItem* WorkItemList::AddSetRegValueWorkItem(
185 const std::wstring& key_path, 206 HKEY predefined_root,
186 const std::wstring& value_name, 207 const std::wstring& key_path,
187 DWORD value_data, 208 const std::wstring& value_name,
188 bool overwrite) { 209 DWORD value_data,
210 bool overwrite,
211 RegWow64ViewOption reg_wow64_option) {
189 WorkItem* item = WorkItem::CreateSetRegValueWorkItem(predefined_root, 212 WorkItem* item = WorkItem::CreateSetRegValueWorkItem(predefined_root,
190 key_path, 213 key_path,
191 value_name, 214 value_name,
192 value_data, 215 value_data,
193 overwrite); 216 overwrite,
217 reg_wow64_option);
194 AddWorkItem(item); 218 AddWorkItem(item);
195 return item; 219 return item;
196 } 220 }
197 221
198 WorkItem* WorkItemList::AddSetRegValueWorkItem(HKEY predefined_root, 222 WorkItem* WorkItemList::AddSetRegValueWorkItem(
199 const std::wstring& key_path, 223 HKEY predefined_root,
200 const std::wstring& value_name, 224 const std::wstring& key_path,
201 int64 value_data, 225 const std::wstring& value_name,
202 bool overwrite) { 226 int64 value_data,
227 bool overwrite,
228 RegWow64ViewOption reg_wow64_option) {
203 WorkItem* item = reinterpret_cast<WorkItem*>( 229 WorkItem* item = reinterpret_cast<WorkItem*>(
204 WorkItem::CreateSetRegValueWorkItem(predefined_root, key_path, value_name, 230 WorkItem::CreateSetRegValueWorkItem(
205 value_data, overwrite)); 231 predefined_root, key_path, value_name,
232 value_data, overwrite, reg_wow64_option));
206 AddWorkItem(item); 233 AddWorkItem(item);
207 return item; 234 return item;
208 } 235 }
209 236
210 WorkItem* WorkItemList::AddSelfRegWorkItem(const std::wstring& dll_path, 237 WorkItem* WorkItemList::AddSelfRegWorkItem(const std::wstring& dll_path,
211 bool do_register, 238 bool do_register,
212 bool user_level_registration) { 239 bool user_level_registration) {
213 WorkItem* item = WorkItem::CreateSelfRegWorkItem(dll_path, do_register, 240 WorkItem* item = WorkItem::CreateSelfRegWorkItem(dll_path, do_register,
214 user_level_registration); 241 user_level_registration);
215 AddWorkItem(item); 242 AddWorkItem(item);
(...skipping 24 matching lines...) Expand all
240 if (result) 267 if (result)
241 VLOG(1) << "NoRollbackWorkItemList: list execution succeeded"; 268 VLOG(1) << "NoRollbackWorkItemList: list execution succeeded";
242 269
243 status_ = LIST_EXECUTED; 270 status_ = LIST_EXECUTED;
244 return result; 271 return result;
245 } 272 }
246 273
247 void NoRollbackWorkItemList::Rollback() { 274 void NoRollbackWorkItemList::Rollback() {
248 // Ignore rollback. 275 // Ignore rollback.
249 } 276 }
OLDNEW
« chrome/installer/util/work_item_list.h ('K') | « chrome/installer/util/work_item_list.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698