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..1db3c4a370c266b7e0b701583a791db138915e7a 100644 |
--- a/chrome/browser/content_settings/content_settings_pref_provider.cc |
+++ b/chrome/browser/content_settings/content_settings_pref_provider.cc |
@@ -24,7 +24,6 @@ |
#include "chrome/common/pref_names.h" |
#include "content/browser/browser_thread.h" |
#include "content/browser/user_metrics.h" |
-#include "content/common/notification_details.h" |
#include "content/common/notification_service.h" |
#include "content/common/notification_source.h" |
#include "googleurl/src/gurl.h" |
@@ -384,11 +383,9 @@ void PrefProvider::RegisterUserPrefs(PrefService* prefs) { |
PrefService::UNSYNCABLE_PREF); |
} |
-PrefProvider::PrefProvider(HostContentSettingsMap* map, |
- PrefService* prefs, |
+PrefProvider::PrefProvider(PrefService* prefs, |
bool incognito) |
: prefs_(prefs), |
- host_content_settings_map_(map), |
is_incognito_(incognito), |
updating_preferences_(false) { |
DCHECK(prefs_); |
@@ -520,9 +517,8 @@ void PrefProvider::SetContentSetting( |
setting); |
} |
- ContentSettingsDetails details( |
+ NotifyObservers( |
primary_pattern, secondary_pattern, content_type, resource_identifier); |
- NotifyObservers(details); |
} |
void PrefProvider::ClearAllContentSettingsRules( |
@@ -554,19 +550,17 @@ void PrefProvider::ClearAllContentSettingsRules( |
} |
} |
- ContentSettingsDetails details( |
- ContentSettingsPattern(), |
- ContentSettingsPattern(), |
- content_type, |
- std::string()); |
- NotifyObservers(details); |
+ NotifyObservers(ContentSettingsPattern(), |
+ ContentSettingsPattern(), |
+ content_type, |
+ std::string()); |
} |
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()); |
@@ -586,11 +580,10 @@ void PrefProvider::Observe( |
return; |
} |
- ContentSettingsDetails details(ContentSettingsPattern(), |
- ContentSettingsPattern(), |
- CONTENT_SETTINGS_TYPE_DEFAULT, |
- std::string()); |
- NotifyObservers(details); |
+ NotifyObservers(ContentSettingsPattern(), |
+ ContentSettingsPattern(), |
+ CONTENT_SETTINGS_TYPE_DEFAULT, |
+ std::string()); |
} else { |
NOTREACHED() << "Unexpected notification"; |
} |
@@ -897,22 +890,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_); |
+ RemoveAllObservers(); |
pref_change_registrar_.RemoveAll(); |
prefs_ = NULL; |
- host_content_settings_map_ = NULL; |
} |
void PrefProvider::MigrateObsoletePerhostPref() { |