Index: chrome/browser/content_settings/content_settings_pref_provider.cc |
diff --git a/chrome/browser/content_settings/content_settings_pref_provider.cc b/chrome/browser/content_settings/content_settings_pref_provider.cc |
index e5ad337a5d9d2231b5dce62913b37d961433a93c..eb6135f7c507a3e8c30773537de33828f7f7f499 100644 |
--- a/chrome/browser/content_settings/content_settings_pref_provider.cc |
+++ b/chrome/browser/content_settings/content_settings_pref_provider.cc |
@@ -120,7 +120,10 @@ PrefProvider::PrefProvider(PrefService* prefs, |
} |
pref_change_registrar_.Init(prefs_); |
- pref_change_registrar_.Add(prefs::kContentSettingsPatternPairs, this); |
+ pref_change_registrar_.Add( |
+ prefs::kContentSettingsPatternPairs, |
+ base::Bind(&PrefProvider::OnContentSettingsPatternPairsChanged, |
+ base::Unretained(this))); |
} |
bool PrefProvider::SetWebsiteSetting( |
@@ -217,23 +220,6 @@ void PrefProvider::ClearAllContentSettingsRules( |
std::string()); |
} |
-void PrefProvider::OnPreferenceChanged(PrefServiceBase* service, |
- const std::string& name) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- DCHECK_EQ(prefs_, service); |
- DCHECK_EQ(std::string(prefs::kContentSettingsPatternPairs), name); |
- |
- if (updating_preferences_) |
- return; |
- |
- ReadContentSettingsFromPref(true); |
- |
- NotifyObservers(ContentSettingsPattern(), |
- ContentSettingsPattern(), |
- CONTENT_SETTINGS_TYPE_DEFAULT, |
- std::string()); |
-} |
- |
PrefProvider::~PrefProvider() { |
DCHECK(!prefs_); |
} |
@@ -384,6 +370,20 @@ void PrefProvider::ReadContentSettingsFromPref(bool overwrite) { |
} |
} |
+void PrefProvider::OnContentSettingsPatternPairsChanged() { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ |
+ if (updating_preferences_) |
+ return; |
+ |
+ ReadContentSettingsFromPref(true); |
+ |
+ NotifyObservers(ContentSettingsPattern(), |
+ ContentSettingsPattern(), |
+ CONTENT_SETTINGS_TYPE_DEFAULT, |
+ std::string()); |
+} |
+ |
void PrefProvider::UpdatePatternPairsSettings( |
const ContentSettingsPattern& primary_pattern, |
const ContentSettingsPattern& secondary_pattern, |