| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFS_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFS_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFS_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFS_H_ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 // meta-preferences describing properties of the extension like | 45 // meta-preferences describing properties of the extension like |
| 46 // installation time, whether the extension is enabled, etc. | 46 // installation time, whether the extension is enabled, etc. |
| 47 // - extension controlled preferences: | 47 // - extension controlled preferences: |
| 48 // browser preferences that an extension controls. For example, an | 48 // browser preferences that an extension controls. For example, an |
| 49 // extension could use the proxy API to specify the browser's proxy | 49 // extension could use the proxy API to specify the browser's proxy |
| 50 // preference. Extension-controlled preferences are stored in | 50 // preference. Extension-controlled preferences are stored in |
| 51 // PrefValueStore::extension_prefs(), which this class populates and | 51 // PrefValueStore::extension_prefs(), which this class populates and |
| 52 // maintains as the underlying extensions change. | 52 // maintains as the underlying extensions change. |
| 53 class ExtensionPrefs : public ContentSettingsStore::Observer, | 53 class ExtensionPrefs : public ContentSettingsStore::Observer, |
| 54 public ExtensionScopedPrefs, | 54 public ExtensionScopedPrefs, |
| 55 public ProfileKeyedService { | 55 public BrowserContextKeyedService { |
| 56 public: | 56 public: |
| 57 // Key name for a preference that keeps track of per-extension settings. This | 57 // Key name for a preference that keeps track of per-extension settings. This |
| 58 // is a dictionary object read from the Preferences file, keyed off of | 58 // is a dictionary object read from the Preferences file, keyed off of |
| 59 // extension ids. | 59 // extension ids. |
| 60 static const char kExtensionsPref[]; | 60 static const char kExtensionsPref[]; |
| 61 | 61 |
| 62 // Key for what version chrome was last time the extension prefs were loaded. | 62 // Key for what version chrome was last time the extension prefs were loaded. |
| 63 static const char kExtensionsLastChromeVersion[]; | 63 static const char kExtensionsLastChromeVersion[]; |
| 64 | 64 |
| 65 typedef std::vector<linked_ptr<ExtensionInfo> > ExtensionsInfo; | 65 typedef std::vector<linked_ptr<ExtensionInfo> > ExtensionsInfo; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 // Use this as needed for testing. | 145 // Use this as needed for testing. |
| 146 static ExtensionPrefs* Create( | 146 static ExtensionPrefs* Create( |
| 147 PrefService* prefs, | 147 PrefService* prefs, |
| 148 const base::FilePath& root_dir, | 148 const base::FilePath& root_dir, |
| 149 ExtensionPrefValueMap* extension_pref_value_map, | 149 ExtensionPrefValueMap* extension_pref_value_map, |
| 150 bool extensions_disabled, | 150 bool extensions_disabled, |
| 151 scoped_ptr<TimeProvider> time_provider); | 151 scoped_ptr<TimeProvider> time_provider); |
| 152 | 152 |
| 153 virtual ~ExtensionPrefs(); | 153 virtual ~ExtensionPrefs(); |
| 154 | 154 |
| 155 // ProfileKeyedService implementation. | 155 // BrowserContextKeyedService implementation. |
| 156 virtual void Shutdown() OVERRIDE; | 156 virtual void Shutdown() OVERRIDE; |
| 157 | 157 |
| 158 // Convenience function to get the ExtensionPrefs for a Profile. | 158 // Convenience function to get the ExtensionPrefs for a Profile. |
| 159 static ExtensionPrefs* Get(Profile* profile); | 159 static ExtensionPrefs* Get(Profile* profile); |
| 160 | 160 |
| 161 // Returns all installed extensions from extension preferences provided by | 161 // Returns all installed extensions from extension preferences provided by |
| 162 // |pref_service|. This is exposed for ProtectedPrefsWatcher because it needs | 162 // |pref_service|. This is exposed for ProtectedPrefsWatcher because it needs |
| 163 // access to the extension ID list before the ExtensionService is initialized. | 163 // access to the extension ID list before the ExtensionService is initialized. |
| 164 static ExtensionIdList GetExtensionsFrom(const PrefService* pref_service); | 164 static ExtensionIdList GetExtensionsFrom(const PrefService* pref_service); |
| 165 | 165 |
| (...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 660 scoped_ptr<TimeProvider> time_provider_; | 660 scoped_ptr<TimeProvider> time_provider_; |
| 661 | 661 |
| 662 bool extensions_disabled_; | 662 bool extensions_disabled_; |
| 663 | 663 |
| 664 DISALLOW_COPY_AND_ASSIGN(ExtensionPrefs); | 664 DISALLOW_COPY_AND_ASSIGN(ExtensionPrefs); |
| 665 }; | 665 }; |
| 666 | 666 |
| 667 } // namespace extensions | 667 } // namespace extensions |
| 668 | 668 |
| 669 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFS_H_ | 669 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFS_H_ |
| OLD | NEW |