Index: chrome/browser/content_settings/content_settings_extension_provider.cc |
diff --git a/chrome/browser/content_settings/content_settings_extension_provider.cc b/chrome/browser/content_settings/content_settings_extension_provider.cc |
index 9dcf9ae98dcb09d5230b39dd023bd6c2ebe02c4e..b350ec4620f905b0a8715f6317169a371b4fea35 100644 |
--- a/chrome/browser/content_settings/content_settings_extension_provider.cc |
+++ b/chrome/browser/content_settings/content_settings_extension_provider.cc |
@@ -15,17 +15,16 @@ |
namespace content_settings { |
ExtensionProvider::ExtensionProvider( |
- HostContentSettingsMap* map, |
+ content_settings::Observer* observer, |
ExtensionContentSettingsStore* extensions_settings, |
bool incognito) |
- : map_(map), |
- incognito_(incognito), |
+ : incognito_(incognito), |
extensions_settings_(extensions_settings) { |
+ AddObserver(observer); |
extensions_settings_->AddObserver(this); |
} |
ExtensionProvider::~ExtensionProvider() { |
- DCHECK(!map_); |
} |
ContentSetting ExtensionProvider::GetContentSetting( |
@@ -53,17 +52,8 @@ void ExtensionProvider::GetAllContentSettingsRules( |
} |
void ExtensionProvider::ShutdownOnUIThread() { |
+ RemoveAllObserver(); |
extensions_settings_->RemoveObserver(this); |
- map_ = NULL; |
-} |
- |
-void ExtensionProvider::NotifyObservers( |
- const ContentSettingsDetails& details) { |
- DCHECK(map_); |
- NotificationService::current()->Notify( |
- chrome::NOTIFICATION_CONTENT_SETTINGS_CHANGED, |
- Source<HostContentSettingsMap>(map_), |
- Details<const ContentSettingsDetails>(&details)); |
} |
void ExtensionProvider::OnContentSettingChanged( |