Index: chrome/browser/content_settings/cookie_settings.cc |
diff --git a/chrome/browser/content_settings/cookie_settings.cc b/chrome/browser/content_settings/cookie_settings.cc |
index 32804ce215f6d9d54a5083c1a8dab4d57414849e..3bb1c14c7c730de04558fc04e60c16d9b0338b4f 100644 |
--- a/chrome/browser/content_settings/cookie_settings.cc |
+++ b/chrome/browser/content_settings/cookie_settings.cc |
@@ -95,7 +95,10 @@ CookieSettings::CookieSettings( |
} |
pref_change_registrar_.Init(prefs); |
- pref_change_registrar_.Add(prefs::kBlockThirdPartyCookies, this); |
+ pref_change_registrar_.Add( |
+ prefs::kBlockThirdPartyCookies, |
+ base::Bind(&CookieSettings::OnBlockThirdPartyCookiesChanged, |
+ base::Unretained(this))); |
} |
ContentSetting |
@@ -155,16 +158,6 @@ void CookieSettings::ResetCookieSetting( |
CONTENT_SETTING_DEFAULT); |
} |
-void CookieSettings::OnPreferenceChanged(PrefServiceBase* prefs, |
- const std::string& name) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- DCHECK_EQ(std::string(prefs::kBlockThirdPartyCookies), name); |
- |
- base::AutoLock auto_lock(lock_); |
- block_third_party_cookies_ = prefs->GetBoolean( |
- prefs::kBlockThirdPartyCookies); |
-} |
- |
void CookieSettings::ShutdownOnUIThread() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
pref_change_registrar_.RemoveAll(); |
@@ -215,6 +208,14 @@ ContentSetting CookieSettings::GetCookieSetting( |
CookieSettings::~CookieSettings() {} |
+void CookieSettings::OnBlockThirdPartyCookiesChanged() { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ |
+ base::AutoLock auto_lock(lock_); |
+ block_third_party_cookies_ = pref_change_registrar_.prefs()->GetBoolean( |
+ prefs::kBlockThirdPartyCookies); |
+} |
+ |
bool CookieSettings::ShouldBlockThirdPartyCookies() const { |
base::AutoLock auto_lock(lock_); |
return block_third_party_cookies_; |