Index: chrome/browser/net/chrome_url_request_context.cc |
diff --git a/chrome/browser/net/chrome_url_request_context.cc b/chrome/browser/net/chrome_url_request_context.cc |
index c9271d91072fe80a354d669bd99be60fd72ad12c..88f8ee0e685a629b62d94a51278e62e68aafe8c3 100644 |
--- a/chrome/browser/net/chrome_url_request_context.cc |
+++ b/chrome/browser/net/chrome_url_request_context.cc |
@@ -526,8 +526,7 @@ ChromeURLRequestContext* FactoryForMedia::Create() { |
ChromeURLRequestContextGetter::ChromeURLRequestContextGetter( |
Profile* profile, |
ChromeURLRequestContextFactory* factory) |
- : prefs_(NULL), |
- factory_(factory), |
+ : factory_(factory), |
url_request_context_(NULL) { |
DCHECK(factory); |
@@ -539,7 +538,7 @@ ChromeURLRequestContextGetter::ChromeURLRequestContextGetter( |
ChromeURLRequestContextGetter::~ChromeURLRequestContextGetter() { |
CheckCurrentlyOnIOThread(); |
- DCHECK(!prefs_) << "Probably didn't call CleanupOnUIThread"; |
+ DCHECK(registrar_.IsEmpty()) << "Probably didn't call CleanupOnUIThread"; |
// Either we already transformed the factory into a URLRequestContext, or |
// we still have a pending factory. |
@@ -652,13 +651,8 @@ ChromeURLRequestContextGetter::CreateOffTheRecordForExtensions( |
void ChromeURLRequestContextGetter::CleanupOnUIThread() { |
CheckCurrentlyOnMainThread(); |
- |
- if (prefs_) { |
- // Unregister for pref notifications. |
- prefs_->RemovePrefObserver(prefs::kAcceptLanguages, this); |
- prefs_->RemovePrefObserver(prefs::kDefaultCharset, this); |
- prefs_ = NULL; |
- } |
+ // Unregister for pref notifications. |
+ registrar_.RemoveAll(); |
} |
void ChromeURLRequestContextGetter::OnNewExtensions( |
@@ -710,10 +704,9 @@ void ChromeURLRequestContextGetter::Observe( |
void ChromeURLRequestContextGetter::RegisterPrefsObserver(Profile* profile) { |
CheckCurrentlyOnMainThread(); |
- prefs_ = profile->GetPrefs(); |
- |
- prefs_->AddPrefObserver(prefs::kAcceptLanguages, this); |
- prefs_->AddPrefObserver(prefs::kDefaultCharset, this); |
+ registrar_.Init(profile->GetPrefs()); |
+ registrar_.Add(prefs::kAcceptLanguages, this); |
+ registrar_.Add(prefs::kDefaultCharset, this); |
} |
// static |