Index: chrome/browser/extensions/extension_content_settings_store.h |
diff --git a/chrome/browser/extensions/extension_content_settings_store.h b/chrome/browser/extensions/extension_content_settings_store.h |
index 1f090a68ab29a5efaa4f328a60d40fcc3ec486a0..cdba78440ec9ba10ab2869a8dcff4b7654cd4667 100644 |
--- a/chrome/browser/extensions/extension_content_settings_store.h |
+++ b/chrome/browser/extensions/extension_content_settings_store.h |
@@ -27,7 +27,8 @@ class ListValue; |
// by the content_settings::ExtensionProvider to integrate its settings into the |
// HostContentSettingsMap and by the content settings extension API to provide |
// extensions with access to content settings. |
-class ExtensionContentSettingsStore { |
+class ExtensionContentSettingsStore |
+ : public base::RefCountedThreadSafe<ExtensionContentSettingsStore> { |
public: |
class Observer { |
public: |
@@ -38,14 +39,9 @@ class ExtensionContentSettingsStore { |
virtual void OnContentSettingChanged( |
const std::string& extension_id, |
bool incognito) = 0; |
- |
- // Called when the ExtensionContentSettingsStore is being destroyed, so |
- // observers can invalidate their weak references. |
- virtual void OnDestruction() = 0; |
}; |
ExtensionContentSettingsStore(); |
- virtual ~ExtensionContentSettingsStore(); |
// ////////////////////////////////////////////////////////////////////////// |
@@ -116,6 +112,8 @@ class ExtensionContentSettingsStore { |
void RemoveObserver(Observer* observer); |
private: |
+ friend class base::RefCountedThreadSafe<ExtensionContentSettingsStore>; |
+ |
struct ExtensionEntry; |
struct ContentSettingSpec { |
ContentSettingSpec(const ContentSettingsPattern& primary_pattern, |
@@ -135,6 +133,8 @@ class ExtensionContentSettingsStore { |
typedef std::list<ContentSettingSpec> ContentSettingSpecList; |
+ virtual ~ExtensionContentSettingsStore(); |
+ |
ContentSetting GetContentSettingFromSpecList( |
const GURL& embedded_url, |
const GURL& top_level_url, |
@@ -160,8 +160,6 @@ class ExtensionContentSettingsStore { |
void NotifyOfContentSettingChanged(const std::string& extension_id, |
bool incognito); |
- void NotifyOfDestruction(); |
- |
bool OnCorrectThread(); |
ExtensionEntryMap entries_; |