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 e6c7c90fc9c84d76dba6edd87736e93321e246c6..e2fc530eb9bf8153c4581757614b02c355416b89 100644 |
--- a/chrome/browser/content_settings/content_settings_pref_provider.cc |
+++ b/chrome/browser/content_settings/content_settings_pref_provider.cc |
@@ -384,14 +384,14 @@ void PrefProvider::RegisterUserPrefs(PrefService* prefs) { |
PrefService::UNSYNCABLE_PREF); |
} |
-PrefProvider::PrefProvider(HostContentSettingsMap* map, |
+PrefProvider::PrefProvider(Observer* observer, |
PrefService* prefs, |
bool incognito) |
: prefs_(prefs), |
- host_content_settings_map_(map), |
is_incognito_(incognito), |
updating_preferences_(false) { |
DCHECK(prefs_); |
+ AddObserver(observer); |
if (!is_incognito_) { |
// Migrate obsolete preferences. |
MigrateObsoletePerhostPref(); |
@@ -566,7 +566,7 @@ void PrefProvider::Observe( |
int type, |
const NotificationSource& source, |
const NotificationDetails& details) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
if (type == chrome::NOTIFICATION_PREF_CHANGED) { |
DCHECK_EQ(prefs_, Source<PrefService>(source).ptr()); |
@@ -897,22 +897,12 @@ void PrefProvider::CanonicalizeContentSettingsExceptions( |
} |
} |
-void PrefProvider::NotifyObservers( |
- const ContentSettingsDetails& details) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- DCHECK(host_content_settings_map_); |
- NotificationService::current()->Notify( |
- chrome::NOTIFICATION_CONTENT_SETTINGS_CHANGED, |
- Source<HostContentSettingsMap>(host_content_settings_map_), |
- Details<const ContentSettingsDetails>(&details)); |
-} |
- |
void PrefProvider::ShutdownOnUIThread() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
DCHECK(prefs_); |
+ RemoveAllObserver(); |
pref_change_registrar_.RemoveAll(); |
prefs_ = NULL; |
- host_content_settings_map_ = NULL; |
} |
void PrefProvider::MigrateObsoletePerhostPref() { |