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

Unified Diff: chrome/browser/chrome_elf_init_win.cc

Issue 300933002: Finch Blacklist is now added to the Hardcoded blacklist. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Upgrading registry accessors to chrome's RegKey. 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 side-by-side diff with in-line comments
Download patch
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 042f3d1a4063383134df0cf06f5f238598af6837..f0f8065465fe78e1707ff6f5b2a2691262d4748c 100644
--- a/chrome/browser/chrome_elf_init_win.cc
+++ b/chrome/browser/chrome_elf_init_win.cc
@@ -12,6 +12,7 @@
#include "chrome_elf/blacklist/blacklist.h"
#include "chrome_elf/chrome_elf_constants.h"
#include "chrome_elf/dll_hash/dll_hash.h"
+#include "components/variations/variations_associated_data.h"
#include "content/public/browser/browser_thread.h"
#include "version.h" // NOLINT
@@ -87,6 +88,7 @@ void InitializeChromeElf() {
base::win::RegKey blacklist_registry_key(HKEY_CURRENT_USER);
blacklist_registry_key.DeleteKey(blacklist::kRegistryBeaconPath);
} else {
+ AddFinchBlacklistToRegistry();
BrowserBlacklistBeaconSetup();
}
@@ -103,6 +105,33 @@ void InitializeChromeElf() {
base::TimeDelta::FromSeconds(kBlacklistReportingDelaySec));
}
+void AddFinchBlacklistToRegistry() {
+ std::map<std::string, std::string> params;
+ if (chrome_variations::GetVariationParams(kBrowserBlacklistTrialName,
+ &params)) {
+ base::win::RegKey finch_blacklist_registry_key(
+ HKEY_CURRENT_USER,
+ blacklist::kRegistryFinchListPath,
+ KEY_QUERY_VALUE | KEY_SET_VALUE);
robertshield 2014/05/30 21:07:08 Do we need KEY_QUERY_VALUE?
krstnmnlsn 2014/06/02 14:00:37 Apparently not :)
+
+ // No point in trying to continue if the registry key isn't valid.
+ if (!finch_blacklist_registry_key.Valid())
+ return;
+
+ std::map<std::string, std::string>::iterator it = params.begin();
+ while (it != params.end()) {
+ std::wstring name = base::UTF8ToWide(it->first);
+ std::wstring val = base::UTF8ToWide(it->second);
+ const wchar_t* name_cstr = name.c_str();
+ const wchar_t* val_cstr = val.c_str();
robertshield 2014/05/30 21:07:08 same comment about the _cstr temporaries here, can
krstnmnlsn 2014/06/02 14:00:37 Done.
+
+ finch_blacklist_registry_key.WriteValue(name_cstr, val_cstr);
+
+ ++it;
+ }
+ }
+}
+
void BrowserBlacklistBeaconSetup() {
base::win::RegKey blacklist_registry_key(HKEY_CURRENT_USER,
blacklist::kRegistryBeaconPath,

Powered by Google App Engine
This is Rietveld 408576698