| Index: chrome/browser/extensions/extension_pref_value_map.h
|
| diff --git a/chrome/browser/extensions/extension_pref_value_map.h b/chrome/browser/extensions/extension_pref_value_map.h
|
| index 54538e41cdca30b066c582fbd1f5442a41381f62..7f520bf74d49869aaca449a5df75ad96ad1bdd34 100644
|
| --- a/chrome/browser/extensions/extension_pref_value_map.h
|
| +++ b/chrome/browser/extensions/extension_pref_value_map.h
|
| @@ -10,8 +10,11 @@
|
| #include <set>
|
| #include <string>
|
|
|
| +#include "base/observer_list.h"
|
| #include "base/time.h"
|
| -#include "chrome/browser/prefs/value_map_pref_store.h"
|
| +#include "base/values.h"
|
| +#include "chrome/browser/prefs/pref_value_map.h"
|
| +#include "chrome/browser/profiles/profile_keyed_service.h"
|
| #include "chrome/browser/extensions/extension_prefs_scope.h"
|
|
|
| // Non-persistent data container that is shared by ExtensionPrefStores. All
|
| @@ -43,7 +46,7 @@
|
| // .reg = regular value
|
| // .inc = incognito value
|
| // Extension B has higher precedence than A.
|
| -class ExtensionPrefValueMap {
|
| +class ExtensionPrefValueMap : public ProfileKeyedService {
|
| public:
|
| // Observer interface for monitoring ExtensionPrefValueMap.
|
| class Observer {
|
| @@ -64,6 +67,9 @@ class ExtensionPrefValueMap {
|
| ExtensionPrefValueMap();
|
| virtual ~ExtensionPrefValueMap();
|
|
|
| + // ProfileKeyedService implementation.
|
| + virtual void Shutdown() OVERRIDE;
|
| +
|
| // Set an extension preference |value| for |key| of extension |ext_id|.
|
| // Takes ownership of |value|.
|
| // Note that regular extension pref values need to be reported to
|
| @@ -163,6 +169,11 @@ class ExtensionPrefValueMap {
|
| // are stored in ExtensionPrefStores.
|
| ExtensionEntryMap entries_;
|
|
|
| + // In normal Profile shutdown, Shutdown() notifies observers that we are
|
| + // being destroyed. In tests, it isn't called, so the notification must
|
| + // be done in the destructor. This bit tracks whether it has been done yet.
|
| + bool destroyed_;
|
| +
|
| ObserverList<Observer, true> observers_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ExtensionPrefValueMap);
|
|
|