| 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() {
|
|
|