summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chrome_elf_init_win.cc
diff options
context:
space:
mode:
authorcsharp@chromium.org <csharp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-04 21:01:38 +0000
committercsharp@chromium.org <csharp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-04 21:01:38 +0000
commitf863ef3f45069cbba9797bb10472c910bf928569 (patch)
treeb92f70bc4959fc796902834e9bb4efa1802d1713 /chrome/browser/chrome_elf_init_win.cc
parent88c8cb264719a9ae817803b0260fc07a6acb03c7 (diff)
downloadchromium_src-f863ef3f45069cbba9797bb10472c910bf928569.zip
chromium_src-f863ef3f45069cbba9797bb10472c910bf928569.tar.gz
chromium_src-f863ef3f45069cbba9797bb10472c910bf928569.tar.bz2
Remove Version Check when Determining if Blacklist is Enabled
If the registry says the blacklist is enabled, then enable it, even if it was enabled for a different version of Chrome. BUG=329023 Review URL: https://codereview.chromium.org/178543011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254819 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chrome_elf_init_win.cc')
-rw-r--r--chrome/browser/chrome_elf_init_win.cc63
1 files changed, 28 insertions, 35 deletions
diff --git a/chrome/browser/chrome_elf_init_win.cc b/chrome/browser/chrome_elf_init_win.cc
index 0ea4e0d..79465b8 100644
--- a/chrome/browser/chrome_elf_init_win.cc
+++ b/chrome/browser/chrome_elf_init_win.cc
@@ -112,13 +112,40 @@ void BrowserBlacklistBeaconSetup() {
if (!blacklist_registry_key.Valid())
return;
+ // Record the results of the last blacklist setup.
+ DWORD blacklist_state = blacklist::BLACKLIST_STATE_MAX;
+ blacklist_registry_key.ReadValueDW(blacklist::kBeaconState, &blacklist_state);
+
+ if (blacklist_state == blacklist::BLACKLIST_ENABLED) {
+ RecordBlacklistSetupEvent(BLACKLIST_SETUP_RAN_SUCCESSFULLY);
+ } else {
+ switch (blacklist_state) {
+ case blacklist::BLACKLIST_SETUP_RUNNING:
+ RecordBlacklistSetupEvent(BLACKLIST_SETUP_FAILED);
+ break;
+ case blacklist::BLACKLIST_THUNK_SETUP:
+ RecordBlacklistSetupEvent(BLACKLIST_THUNK_SETUP_FAILED);
+ break;
+ case blacklist::BLACKLIST_INTERCEPTING:
+ RecordBlacklistSetupEvent(BLACKLIST_INTERCEPTION_FAILED);
+ break;
+ }
+
+ // Since some part of the blacklist failed, mark it as disabled
+ // for this version.
+ if (blacklist_state != blacklist::BLACKLIST_DISABLED) {
+ blacklist_registry_key.WriteValue(blacklist::kBeaconState,
+ blacklist::BLACKLIST_DISABLED);
+ }
+ }
+
// Find the last recorded blacklist version.
base::string16 blacklist_version;
blacklist_registry_key.ReadValue(blacklist::kBeaconVersion,
&blacklist_version);
if (blacklist_version != TEXT(CHROME_VERSION_STRING)) {
- // The blacklist hasn't run for this version yet, so enable it.
+ // The blacklist hasn't been enabled for this version yet, so enable it.
LONG set_version = blacklist_registry_key.WriteValue(
blacklist::kBeaconVersion,
TEXT(CHROME_VERSION_STRING));
@@ -131,39 +158,5 @@ void BrowserBlacklistBeaconSetup() {
// succeed, since otherwise the blacklist wasn't properly setup.
if (set_version == ERROR_SUCCESS && set_state == ERROR_SUCCESS)
RecordBlacklistSetupEvent(BLACKLIST_SETUP_ENABLED);
-
- // Don't try to record if the blacklist setup succeeded or failed in the
- // run since it could have been from either this version or the previous
- // version (since crashes occur before we set the version in the registry).
- } else {
- // The blacklist version didn't change, so record the results of the
- // latest setup.
- DWORD blacklist_state = blacklist::BLACKLIST_STATE_MAX;
- blacklist_registry_key.ReadValueDW(blacklist::kBeaconState,
- &blacklist_state);
-
- // Record the results of the latest blacklist setup.
- if (blacklist_state == blacklist::BLACKLIST_ENABLED) {
- RecordBlacklistSetupEvent(BLACKLIST_SETUP_RAN_SUCCESSFULLY);
- } else {
- switch (blacklist_state) {
- case blacklist::BLACKLIST_SETUP_RUNNING:
- RecordBlacklistSetupEvent(BLACKLIST_SETUP_FAILED);
- break;
- case blacklist::BLACKLIST_THUNK_SETUP:
- RecordBlacklistSetupEvent(BLACKLIST_THUNK_SETUP_FAILED);
- break;
- case blacklist::BLACKLIST_INTERCEPTING:
- RecordBlacklistSetupEvent(BLACKLIST_INTERCEPTION_FAILED);
- break;
- }
-
- // Since some part of the blacklist failed, ensure it is now disabled
- // for this version.
- if (blacklist_state != blacklist::BLACKLIST_DISABLED) {
- blacklist_registry_key.WriteValue(blacklist::kBeaconState,
- blacklist::BLACKLIST_DISABLED);
- }
- }
}
}