| 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_;
|
|
|