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

Unified Diff: chrome/browser/extensions/external_registry_loader_win.cc

Issue 2796783002: [Ext Registry] Do not try to re-watch registry if we are already watching it. (Closed)
Patch Set: revert retrying + add assert Created 3 years, 8 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/extensions/external_registry_loader_win.cc
diff --git a/chrome/browser/extensions/external_registry_loader_win.cc b/chrome/browser/extensions/external_registry_loader_win.cc
index b54835aff5923dc09df2e599efa9688b7d330261..0c1088480c2f2fc7d76b71ff0e094b469b24a53e 100644
--- a/chrome/browser/extensions/external_registry_loader_win.cc
+++ b/chrome/browser/extensions/external_registry_loader_win.cc
@@ -54,6 +54,9 @@ std::string MakePrefName(const std::string& extension_id,
namespace extensions {
+ExternalRegistryLoader::ExternalRegistryLoader()
+ : attempted_watching_registry_(false) {}
+
void ExternalRegistryLoader::StartLoading() {
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
BrowserThread::PostTask(
@@ -200,7 +203,10 @@ void ExternalRegistryLoader::CompleteLoadAndStartWatchingRegistry() {
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
LoadFinished();
- // Start watching registry.
+ // Attempt to watch registry if we haven't already.
+ if (attempted_watching_registry_)
+ return;
+
LONG result = ERROR_SUCCESS;
if ((result = hklm_key_.Create(HKEY_LOCAL_MACHINE, kRegistryExtensions,
KEY_NOTIFY | KEY_WOW64_32KEY)) ==
@@ -222,6 +228,8 @@ void ExternalRegistryLoader::CompleteLoadAndStartWatchingRegistry() {
} else {
LOG(WARNING) << "Error observing HKCU: " << result;
}
+
+ attempted_watching_registry_ = true;
}
void ExternalRegistryLoader::OnRegistryKeyChanged(base::win::RegKey* key) {

Powered by Google App Engine
This is Rietveld 408576698