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

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

Issue 1486593003: shell_util: Minor tweaks to comments that didn't land in previous CL. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@shell_util-registryentry-public-ctors
Patch Set: Created 5 years 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This file defines functions that integrate Chrome in Windows shell. These 5 // This file defines functions that integrate Chrome in Windows shell. These
6 // functions can be used by Chrome as well as Chrome installer. All of the 6 // functions can be used by Chrome as well as Chrome installer. All of the
7 // work is done by the local functions defined in anonymous namespace in 7 // work is done by the local functions defined in anonymous namespace in
8 // this class. 8 // this class.
9 9
10 #include "chrome/installer/util/shell_util.h" 10 #include "chrome/installer/util/shell_util.h"
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 if (suffix_.empty()) { 149 if (suffix_.empty()) {
150 NOTREACHED(); 150 NOTREACHED();
151 return false; 151 return false;
152 } 152 }
153 suffix->assign(suffix_); 153 suffix->assign(suffix_);
154 return true; 154 return true;
155 } 155 }
156 156
157 // This class represents a single registry entry (a key and its value). A 157 // This class represents a single registry entry (a key and its value). A
158 // collection of registry entries should be collected into a list and written 158 // collection of registry entries should be collected into a list and written
159 // atomically using a WorkItemList. This is preferred to writing to the registry 159 // transactionally using a WorkItemList. This is preferred to writing to the
160 // directly, because if anything goes wrong, they can be rolled back atomically. 160 // registry directly, because if anything goes wrong, they can be rolled back.
161 class RegistryEntry { 161 class RegistryEntry {
162 public: 162 public:
163 // A bit-field enum of places to look for this key in the Windows registry. 163 // A bit-field enum of places to look for this key in the Windows registry.
164 enum LookForIn { 164 enum LookForIn {
165 LOOK_IN_HKCU = 1 << 0, 165 LOOK_IN_HKCU = 1 << 0,
166 LOOK_IN_HKLM = 1 << 1, 166 LOOK_IN_HKLM = 1 << 1,
167 LOOK_IN_HKCU_THEN_HKLM = LOOK_IN_HKCU | LOOK_IN_HKLM, 167 LOOK_IN_HKCU_THEN_HKLM = LOOK_IN_HKCU | LOOK_IN_HKLM,
168 }; 168 };
169 169
170 // Identifies the type of removal this RegistryEntry is flagged for, if any. 170 // Identifies the type of removal this RegistryEntry is flagged for, if any.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 base::string16 application_name; 205 base::string16 application_name;
206 base::FilePath application_icon_path; 206 base::FilePath application_icon_path;
207 int application_icon_index; 207 int application_icon_index;
208 base::string16 application_description; 208 base::string16 application_description;
209 base::string16 publisher_name; 209 base::string16 publisher_name;
210 210
211 // The CLSID for the application's DelegateExecute handler. May be empty. 211 // The CLSID for the application's DelegateExecute handler. May be empty.
212 base::string16 delegate_clsid; 212 base::string16 delegate_clsid;
213 }; 213 };
214 214
215 // Create a object that represent default value of a key 215 // Create an object that represent default value of a key.
216 RegistryEntry(const base::string16& key_path, const base::string16& value); 216 RegistryEntry(const base::string16& key_path, const base::string16& value);
217 217
218 // Create a object that represent a key of type REG_SZ 218 // Create an object that represent a key of type REG_SZ.
219 RegistryEntry(const base::string16& key_path, 219 RegistryEntry(const base::string16& key_path,
220 const base::string16& name, 220 const base::string16& name,
221 const base::string16& value); 221 const base::string16& value);
222 222
223 // Create a object that represent a key of integer type 223 // Create an object that represent a key of integer type.
224 RegistryEntry(const base::string16& key_path, 224 RegistryEntry(const base::string16& key_path,
225 const base::string16& name, 225 const base::string16& name,
226 DWORD value); 226 DWORD value);
227 227
228 // Returns the Windows browser client registration key for Chrome. For 228 // Returns the Windows browser client registration key for Chrome. For
229 // example: "Software\Clients\StartMenuInternet\Chromium[.user]". Strictly 229 // example: "Software\Clients\StartMenuInternet\Chromium[.user]". Strictly
230 // speaking, we should use the name of the executable (e.g., "chrome.exe"), 230 // speaking, we should use the name of the executable (e.g., "chrome.exe"),
231 // but that ship has sailed. The cost of switching now is re-prompting users 231 // but that ship has sailed. The cost of switching now is re-prompting users
232 // to make Chrome their default browser, which isn't polite. |suffix| is the 232 // to make Chrome their default browser, which isn't polite. |suffix| is the
233 // user-specific registration suffix; see GetUserSpecificDefaultBrowserSuffix 233 // user-specific registration suffix; see GetUserSpecificDefaultBrowserSuffix
(...skipping 2365 matching lines...) Expand 10 before | Expand all | Expand 10 after
2599 base::string16 key_path(ShellUtil::kRegClasses); 2599 base::string16 key_path(ShellUtil::kRegClasses);
2600 key_path.push_back(base::FilePath::kSeparators[0]); 2600 key_path.push_back(base::FilePath::kSeparators[0]);
2601 key_path.append(prog_id); 2601 key_path.append(prog_id);
2602 return InstallUtil::DeleteRegistryKey( 2602 return InstallUtil::DeleteRegistryKey(
2603 HKEY_CURRENT_USER, key_path, WorkItem::kWow64Default); 2603 HKEY_CURRENT_USER, key_path, WorkItem::kWow64Default);
2604 2604
2605 // TODO(mgiuca): Remove the extension association entries. This requires that 2605 // TODO(mgiuca): Remove the extension association entries. This requires that
2606 // the extensions associated with a particular prog_id are stored in that 2606 // the extensions associated with a particular prog_id are stored in that
2607 // prog_id's key. 2607 // prog_id's key.
2608 } 2608 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698