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

Side by Side Diff: chrome/common/platform_util_win.cc

Issue 534005: Per discussion with mal, recognize the stable branch (parent regkey... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 11 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 | Annotate | Revision Log
« 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/common/platform_util.h" 5 #include "chrome/common/platform_util.h"
6 6
7 #include <commdlg.h> 7 #include <commdlg.h>
8 #include <dwmapi.h> 8 #include <dwmapi.h>
9 #include <shellapi.h> 9 #include <shellapi.h>
10 #include <shlobj.h> 10 #include <shlobj.h>
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 } 177 }
178 } 178 }
179 179
180 std::wstring update_branch; 180 std::wstring update_branch;
181 if (registry_hive != 0) { 181 if (registry_hive != 0) {
182 // Now that we know which hive to use, read the 'ap' key from it. 182 // Now that we know which hive to use, read the 'ap' key from it.
183 std::wstring key = google_update::kRegPathClientState + 183 std::wstring key = google_update::kRegPathClientState +
184 std::wstring(L"\\") + google_update::kChromeUpgradeCode; 184 std::wstring(L"\\") + google_update::kChromeUpgradeCode;
185 RegKey client_state(registry_hive, key.c_str(), KEY_READ); 185 RegKey client_state(registry_hive, key.c_str(), KEY_READ);
186 client_state.ReadValue(google_update::kRegApField, &update_branch); 186 client_state.ReadValue(google_update::kRegApField, &update_branch);
187 // If the parent folder exists (we have a valid install) but the
188 // 'ap' key is empty, we necessarily are the stable channel.
189 if (update_branch.empty() && client_state.Valid()) {
190 update_branch = L"stable";
191 }
187 } 192 }
188 193
189 // Map to something pithy for human consumption. There are no rules as to 194 // Map to something pithy for human consumption. There are no rules as to
190 // what the ap string can contain, but generally it will contain a number 195 // what the ap string can contain, but generally it will contain a number
191 // followed by a dash followed by the branch name (and then some random 196 // followed by a dash followed by the branch name (and then some random
192 // suffix). We fall back on empty string, in case we fail to parse (or the 197 // suffix). We fall back on empty string in case we fail to parse.
193 // branch is stable).
194 if (update_branch.find(L"-beta") != std::wstring::npos) 198 if (update_branch.find(L"-beta") != std::wstring::npos)
195 update_branch = L"beta"; 199 update_branch = L"beta";
196 else if (update_branch.find(L"-dev") != std::wstring::npos) 200 else if (update_branch.find(L"-dev") != std::wstring::npos)
197 update_branch = L"dev"; 201 update_branch = L"dev";
202 else if (update_branch.find(L"stable") != std::wstring::npos)
203 update_branch = L"stable";
198 else 204 else
199 update_branch = L""; 205 update_branch = L"";
200 206
201 return update_branch; 207 return update_branch;
202 } 208 }
203 209
204 } // namespace 210 } // namespace
205 211
206 string16 GetVersionStringModifier() { 212 string16 GetVersionStringModifier() {
207 #if defined(GOOGLE_CHROME_BUILD) 213 #if defined(GOOGLE_CHROME_BUILD)
208 return CurrentChromeChannel(); 214 return CurrentChromeChannel();
209 #else 215 #else
210 return string16(); 216 return string16();
211 #endif 217 #endif
212 } 218 }
213 219
214 } // namespace platform_util 220 } // namespace platform_util
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