| Index: chrome/browser/profiles/profile_impl.cc
|
| diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
| index 980264d1cfdac95f7f755e64507c2c97115eeac0..18a31469ed5cfaa1ed78638ce72dfcf2161f35b4 100644
|
| --- a/chrome/browser/profiles/profile_impl.cc
|
| +++ b/chrome/browser/profiles/profile_impl.cc
|
| @@ -39,6 +39,8 @@
|
| #include "chrome/browser/extensions/extension_message_service.h"
|
| #include "chrome/browser/extensions/extension_navigation_observer.h"
|
| #include "chrome/browser/extensions/extension_pref_store.h"
|
| +#include "chrome/browser/extensions/extension_pref_value_map.h"
|
| +#include "chrome/browser/extensions/extension_pref_value_map_factory.h"
|
| #include "chrome/browser/extensions/extension_process_manager.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_special_storage_policy.h"
|
| @@ -273,7 +275,8 @@ ProfileImpl::ProfileImpl(const FilePath& path,
|
| if (create_mode == CREATE_MODE_ASYNCHRONOUS) {
|
| prefs_.reset(PrefService::CreatePrefService(
|
| GetPrefFilePath(),
|
| - new ExtensionPrefStore(GetExtensionPrefValueMap(), false),
|
| + new ExtensionPrefStore(
|
| + ExtensionPrefValueMapFactory::GetForProfile(this), false),
|
| true));
|
| // Wait for the notification that prefs has been loaded (successfully or
|
| // not).
|
| @@ -283,7 +286,8 @@ ProfileImpl::ProfileImpl(const FilePath& path,
|
| // Load prefs synchronously.
|
| prefs_.reset(PrefService::CreatePrefService(
|
| GetPrefFilePath(),
|
| - new ExtensionPrefStore(GetExtensionPrefValueMap(), false),
|
| + new ExtensionPrefStore(
|
| + ExtensionPrefValueMapFactory::GetForProfile(this), false),
|
| false));
|
| OnPrefsLoaded(true);
|
| } else {
|
| @@ -676,7 +680,8 @@ Profile* ProfileImpl::GetOffTheRecordProfile() {
|
|
|
| void ProfileImpl::DestroyOffTheRecordProfile() {
|
| off_the_record_profile_.reset();
|
| - extension_pref_value_map_->ClearAllIncognitoSessionOnlyPreferences();
|
| + ExtensionPrefValueMapFactory::GetForProfile(this)->
|
| + ClearAllIncognitoSessionOnlyPreferences();
|
| }
|
|
|
| bool ProfileImpl::HasOffTheRecordProfile() {
|
| @@ -771,7 +776,7 @@ void ProfileImpl::OnPrefsLoaded(bool success) {
|
| extension_prefs_.reset(new ExtensionPrefs(
|
| prefs_.get(),
|
| GetPath().AppendASCII(ExtensionService::kInstallDirectoryName),
|
| - GetExtensionPrefValueMap()));
|
| + ExtensionPrefValueMapFactory::GetForProfile(this)));
|
| extension_prefs_->Init(extensions_disabled);
|
|
|
| DCHECK(!net_pref_observer_.get());
|
| @@ -802,7 +807,8 @@ PrefService* ProfileImpl::GetOffTheRecordPrefs() {
|
| // The new ExtensionPrefStore is ref_counted and the new PrefService
|
| // stores a reference so that we do not leak memory here.
|
| otr_prefs_.reset(GetPrefs()->CreateIncognitoPrefService(
|
| - new ExtensionPrefStore(GetExtensionPrefValueMap(), true)));
|
| + new ExtensionPrefStore(
|
| + ExtensionPrefValueMapFactory::GetForProfile(this), true)));
|
| }
|
| return otr_prefs_.get();
|
| }
|
| @@ -1050,12 +1056,6 @@ history::TopSites* ProfileImpl::GetTopSitesWithoutCreating() {
|
| return top_sites_;
|
| }
|
|
|
| -ExtensionPrefValueMap* ProfileImpl::GetExtensionPrefValueMap() {
|
| - if (!extension_pref_value_map_.get())
|
| - extension_pref_value_map_.reset(new ExtensionPrefValueMap);
|
| - return extension_pref_value_map_.get();
|
| -}
|
| -
|
| void ProfileImpl::MarkAsCleanShutdown() {
|
| if (prefs_.get()) {
|
| // The session cleanly exited, set kSessionExitedCleanly appropriately.
|
|
|