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

Unified Diff: chrome/browser/profiles/profile_impl.cc

Issue 9764006: Make ExtensionPrefValueMap a ProfileKeyedService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: includes Created 8 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
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.

Powered by Google App Engine
This is Rietveld 408576698