| Index: chrome/browser/chrome_elf_init_win.cc
|
| diff --git a/chrome/browser/chrome_elf_init_win.cc b/chrome/browser/chrome_elf_init_win.cc
|
| index 9be2d0a55674c021fb4be45d7ab5a8748241ac6f..ce9d3e7235b54f985fadfe9b2a844c762832f895 100644
|
| --- a/chrome/browser/chrome_elf_init_win.cc
|
| +++ b/chrome/browser/chrome_elf_init_win.cc
|
| @@ -109,6 +109,10 @@ void InitializeChromeElf() {
|
| base::TimeDelta::FromSeconds(kBlacklistReportingDelaySec));
|
| }
|
|
|
| +// Note that running multiple chrome instances with distinct user data
|
| +// directories could lead to deletion (and/or replacement) of the finch
|
| +// blacklist registry data in one instance before the second has a chance to
|
| +// read those values.
|
| void AddFinchBlacklistToRegistry() {
|
| base::win::RegKey finch_blacklist_registry_key(
|
| HKEY_CURRENT_USER, blacklist::kRegistryFinchListPath, KEY_SET_VALUE);
|
| @@ -117,6 +121,11 @@ void AddFinchBlacklistToRegistry() {
|
| if (!finch_blacklist_registry_key.Valid())
|
| return;
|
|
|
| + // Delete and recreate the key to clear the registry.
|
| + finch_blacklist_registry_key.DeleteKey(L"");
|
| + finch_blacklist_registry_key.Create(
|
| + HKEY_CURRENT_USER, blacklist::kRegistryFinchListPath, KEY_SET_VALUE);
|
| +
|
| std::map<std::string, std::string> params;
|
| chrome_variations::GetVariationParams(kBrowserBlacklistTrialName, ¶ms);
|
|
|
|
|