Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Unified Diff: extensions/browser/extension_prefs.h

Issue 220353002: Remove //chrome dependency from ExtensionPrefs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: don't ref ContentSettingsStore if !ENABLE_EXTENSIONS Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/chrome_browser_extensions.gypi ('k') | extensions/browser/extension_prefs.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/extension_prefs.h
diff --git a/extensions/browser/extension_prefs.h b/extensions/browser/extension_prefs.h
index 98a2e872a5024b97c13827d78dfc6ebabe48a225..87ff2172bcfe444e23eee112eff0511918c98d2f 100644
--- a/extensions/browser/extension_prefs.h
+++ b/extensions/browser/extension_prefs.h
@@ -38,7 +38,7 @@ class PrefRegistrySyncable;
namespace extensions {
class AppSorting;
-class ContentSettingsStore;
+class ExtensionPrefsObserver;
class ExtensionPrefsUninstallExtension;
class URLPatternSet;
@@ -123,24 +123,19 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService {
typedef ScopedUpdate<base::ListValue, base::Value::TYPE_LIST>
ScopedListUpdate;
- class Observer {
- public:
- // Called when the reasons for an extension being disabled have changed.
- virtual void OnExtensionDisableReasonsChanged(
- const std::string& extension_id,
- int disabled_reasons) = 0;
- };
-
- // Creates and initializes an ExtensionPrefs object.
- // Does not take ownership of |prefs| and |extension_pref_value_map|.
+ // Creates an ExtensionPrefs object.
+ // Does not take ownership of |prefs| or |extension_pref_value_map|.
// If |extensions_disabled| is true, extension controlled preferences and
- // content settings do not become effective.
+ // content settings do not become effective. ExtensionPrefsObservers should be
+ // included in |early_observers| if they need to observe events which occur
+ // during initialization of the ExtensionPrefs object.
static ExtensionPrefs* Create(
PrefService* prefs,
const base::FilePath& root_dir,
ExtensionPrefValueMap* extension_pref_value_map,
scoped_ptr<AppSorting> app_sorting,
- bool extensions_disabled);
+ bool extensions_disabled,
+ const std::vector<ExtensionPrefsObserver*>& early_observers);
// A version of Create which allows injection of a custom base::Time provider.
// Use this as needed for testing.
@@ -150,6 +145,7 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService {
ExtensionPrefValueMap* extension_pref_value_map,
scoped_ptr<AppSorting> app_sorting,
bool extensions_disabled,
+ const std::vector<ExtensionPrefsObserver*>& early_observers,
scoped_ptr<TimeProvider> time_provider);
virtual ~ExtensionPrefs();
@@ -163,8 +159,8 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService {
static ExtensionIdList GetExtensionsFrom(const PrefService* pref_service);
// Add or remove an observer from the ExtensionPrefs.
- void AddObserver(Observer* observer);
- void RemoveObserver(Observer* observer);
+ void AddObserver(ExtensionPrefsObserver* observer);
+ void RemoveObserver(ExtensionPrefsObserver* observer);
// Returns true if the specified external extension was uninstalled by the
// user.
@@ -515,10 +511,6 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService {
bool extensions_disabled() const { return extensions_disabled_; }
- ContentSettingsStore* content_settings_store() {
- return content_settings_store_.get();
- }
-
// The underlying PrefService.
PrefService* pref_service() const { return prefs_; }
@@ -568,7 +560,8 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService {
ExtensionPrefValueMap* extension_pref_value_map,
scoped_ptr<AppSorting> app_sorting,
scoped_ptr<TimeProvider> time_provider,
- bool extensions_disabled);
+ bool extensions_disabled,
+ const std::vector<ExtensionPrefsObserver*>& early_observers);
// Converts absolute paths in the pref to paths relative to the
// install_directory_.
@@ -669,6 +662,8 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService {
const std::string& install_parameter,
base::DictionaryValue* extension_dict);
+ void InitExtensionControlledPrefs(ExtensionPrefValueMap* value_map);
+
// Helper function to complete initialization of the values in
// |extension_dict| for an extension install. Also see
// PopulateExtensionInfoPrefs().
@@ -693,13 +688,11 @@ class ExtensionPrefs : public ExtensionScopedPrefs, public KeyedService {
// properties.
scoped_ptr<AppSorting> app_sorting_;
- scoped_refptr<ContentSettingsStore> content_settings_store_;
-
scoped_ptr<TimeProvider> time_provider_;
bool extensions_disabled_;
- ObserverList<Observer> observer_list_;
+ ObserverList<ExtensionPrefsObserver> observer_list_;
DISALLOW_COPY_AND_ASSIGN(ExtensionPrefs);
};
« no previous file with comments | « chrome/chrome_browser_extensions.gypi ('k') | extensions/browser/extension_prefs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698