Chromium Code Reviews| 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 640d4549fe97f4f8771ee625e2511155915853c8..0c867c5c0ac03e0470096e03f9d037bb1ba3f10a 100644 |
| --- a/chrome/browser/content_settings/content_settings_extension_provider.cc |
| +++ b/chrome/browser/content_settings/content_settings_extension_provider.cc |
| @@ -14,19 +14,17 @@ |
| namespace content_settings { |
| ExtensionProvider::ExtensionProvider( |
| - Profile* profile, |
| + HostContentSettingsMap* map, |
| ExtensionContentSettingsStore* extensions_settings, |
| bool incognito) |
| - : profile_(profile), |
| + : map_(map), |
| incognito_(incognito), |
| extensions_settings_(extensions_settings) { |
| - DCHECK(extensions_settings); |
| extensions_settings_->AddObserver(this); |
| } |
| ExtensionProvider::~ExtensionProvider() { |
| - if (extensions_settings_) |
| - extensions_settings_->RemoveObserver(this); |
| + DCHECK(!map_); |
| } |
| ContentSetting ExtensionProvider::GetContentSetting( |
| @@ -49,18 +47,20 @@ void ExtensionProvider::GetAllContentSettingsRules( |
| ContentSettingsType content_type, |
| const ResourceIdentifier& resource_identifier, |
| Rules* content_setting_rules) const { |
| - DCHECK(extensions_settings_); |
| return extensions_settings_->GetContentSettingsForContentType( |
| content_type, resource_identifier, incognito_, content_setting_rules); |
| } |
| +void ExtensionProvider::ShutdownOnUIThread() { |
| + extensions_settings_->RemoveObserver(this); |
| + map_ = NULL; |
| +} |
| + |
| void ExtensionProvider::NotifyObservers( |
| const ContentSettingsDetails& details) { |
|
battre
2011/07/06 09:12:05
should we DCHECK on the map_ here?
Bernhard Bauer
2011/07/06 12:06:51
Done.
|
| - if (profile_ == NULL) |
| - return; |
| NotificationService::current()->Notify( |
| NotificationType::CONTENT_SETTINGS_CHANGED, |
| - Source<HostContentSettingsMap>(profile_->GetHostContentSettingsMap()), |
| + Source<HostContentSettingsMap>(map_), |
| Details<const ContentSettingsDetails>(&details)); |
| } |
| @@ -77,9 +77,4 @@ void ExtensionProvider::OnContentSettingChanged( |
| NotifyObservers(details); |
| } |
| -void ExtensionProvider::OnDestruction() { |
| - DCHECK(extensions_settings_); |
| - extensions_settings_ = NULL; |
| -} |
| - |
| } // namespace content_settings |