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

Unified Diff: chrome/browser/win/chrome_elf_init.cc

Issue 1841573002: [Chrome ELF] New NT registry API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: PRESUBMIT to allow chrome_elf directory files to use wstring. Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/test/test_reg_util_win.cc ('k') | chrome/browser/win/chrome_elf_init_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/win/chrome_elf_init.cc
diff --git a/chrome/browser/win/chrome_elf_init.cc b/chrome/browser/win/chrome_elf_init.cc
index 7c55ed7716cb7cb0e456e3acac6e1391aee8079e..a0a4f482548e1d1253e33ac18f240e6a2b80d31c 100644
--- a/chrome/browser/win/chrome_elf_init.cc
+++ b/chrome/browser/win/chrome_elf_init.cc
@@ -130,16 +130,22 @@ void AddFinchBlacklistToRegistry() {
HKEY_CURRENT_USER, blacklist::kRegistryFinchListPath, KEY_SET_VALUE);
std::map<std::string, std::string> params;
- variations::GetVariationParams(kBrowserBlacklistTrialName, &params);
-
- for (std::map<std::string, std::string>::iterator it = params.begin();
- it != params.end();
- ++it) {
- std::wstring name = base::UTF8ToWide(it->first);
- std::wstring val = base::UTF8ToWide(it->second);
-
- finch_blacklist_registry_key.WriteValue(name.c_str(), val.c_str());
- }
+ std::string value = variations::GetVariationParamValue(
+ kBrowserBlacklistTrialName, blacklist::kRegistryFinchListValueNameStr);
+ if (value.empty())
+ return;
+ base::string16 value_wcs = base::UTF8ToWide(value);
+
+ // The dll names are comma-separated in this param value. We need to turn
+ // this into REG_MULTI_SZ format (double-null terminates).
+ // Note that the strings are wide character in registry.
+ value_wcs.push_back(L'\0');
+ value_wcs.push_back(L'\0');
+ std::replace(value_wcs.begin(), value_wcs.end(), L',', L'\0');
+
+ finch_blacklist_registry_key.WriteValue(
+ blacklist::kRegistryFinchListValueName, value_wcs.data(),
+ (value_wcs.size() * sizeof(wchar_t)), REG_MULTI_SZ);
}
void BrowserBlacklistBeaconSetup() {
« no previous file with comments | « base/test/test_reg_util_win.cc ('k') | chrome/browser/win/chrome_elf_init_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698