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

Unified Diff: trunk/src/chrome_elf/blacklist/blacklist.cc

Issue 132043005: Revert 243967 "Use a Finch Experiment to control the Browser Bla..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « trunk/src/chrome_elf/blacklist/blacklist.h ('k') | trunk/src/chrome_elf/blacklist/test/blacklist_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/chrome_elf/blacklist/blacklist.cc
===================================================================
--- trunk/src/chrome_elf/blacklist/blacklist.cc (revision 244024)
+++ trunk/src/chrome_elf/blacklist/blacklist.cc (working copy)
@@ -12,7 +12,6 @@
#include "sandbox/win/src/internal_types.h"
#include "sandbox/win/src/sandbox_utils.h"
#include "sandbox/win/src/service_resolver.h"
-#include "version.h" // NOLINT
// http://blogs.msdn.com/oldnewthing/archive/2004/10/25/247180.aspx
extern "C" IMAGE_DOS_HEADER __ImageBase;
@@ -23,8 +22,6 @@
int g_troublesome_dlls_cur_index = 0;
const wchar_t kRegistryBeaconPath[] = L"SOFTWARE\\Google\\Chrome\\BLBeacon";
-const wchar_t kBeaconVersion[] = L"version";
-const wchar_t kBeaconState[] = L"state";
} // namespace blacklist
@@ -143,58 +140,27 @@
namespace blacklist {
-bool LeaveSetupBeacon() {
- DWORD blacklist_state = BLACKLIST_DISABLED;
- DWORD blacklist_state_size = sizeof(blacklist_state);
- LONG result = ::RegGetValue(HKEY_CURRENT_USER,
- kRegistryBeaconPath,
- kBeaconState,
- RRF_RT_REG_DWORD,
- NULL,
- &blacklist_state,
- &blacklist_state_size);
-
- if (blacklist_state != BLACKLIST_ENABLED ||
- result != ERROR_SUCCESS)
- return false;
-
- // If the blacklist wasn't set as enabled for this version, don't
- // use it.
- wchar_t key_data[255] = {};
- DWORD key_data_size = sizeof(key_data);
- result = ::RegGetValue(HKEY_CURRENT_USER,
- blacklist::kRegistryBeaconPath,
- blacklist::kBeaconVersion,
- RRF_RT_REG_SZ,
- NULL,
- key_data,
- &key_data_size);
- if (wcscmp(key_data, TEXT(CHROME_VERSION_STRING)) != 0 ||
- result != ERROR_SUCCESS)
- return false;
-
- // Mark the blacklist setup code as running so if it crashes the blacklist
- // won't be enabled for the next run.
- blacklist_state = BLACKLIST_SETUP_RUNNING;
- result = ::RegSetKeyValue(HKEY_CURRENT_USER,
- kRegistryBeaconPath,
- kBeaconState,
- REG_DWORD,
- &blacklist_state,
- sizeof(blacklist_state));
-
- return (result == ERROR_SUCCESS);
+bool CreateBeacon() {
+ HKEY beacon_key = NULL;
+ DWORD disposition = 0;
+ LONG result = ::RegCreateKeyEx(HKEY_CURRENT_USER,
+ kRegistryBeaconPath,
+ 0,
+ NULL,
+ 0,
+ KEY_WRITE,
+ NULL,
+ &beacon_key,
+ &disposition);
+ bool success = (result == ERROR_SUCCESS &&
+ disposition != REG_OPENED_EXISTING_KEY);
+ if (result == ERROR_SUCCESS)
+ ::RegCloseKey(beacon_key);
+ return success;
}
-bool ResetBeacon() {
- DWORD blacklist_state = BLACKLIST_ENABLED;
- LONG result = ::RegSetKeyValue(HKEY_CURRENT_USER,
- kRegistryBeaconPath,
- kBeaconState,
- REG_DWORD,
- &blacklist_state,
- sizeof(blacklist_state));
-
+bool ClearBeacon() {
+ LONG result = ::RegDeleteKey(HKEY_CURRENT_USER, kRegistryBeaconPath);
return (result == ERROR_SUCCESS);
}
@@ -246,7 +212,7 @@
return false;
// Check to see if a beacon is present, abort if so.
- if (!force && !LeaveSetupBeacon())
+ if (!force && !CreateBeacon())
return false;
// Don't try blacklisting on unsupported OS versions.
« no previous file with comments | « trunk/src/chrome_elf/blacklist/blacklist.h ('k') | trunk/src/chrome_elf/blacklist/test/blacklist_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698