summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/test_extension_system.cc
diff options
context:
space:
mode:
authoryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-16 08:07:42 +0000
committeryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-16 08:07:42 +0000
commit836e29803eb5904c781a5ed752b615aeb51ff443 (patch)
tree6935b9eb9c4768ee47cc3338395ced4d06b48236 /chrome/browser/extensions/test_extension_system.cc
parent5f09747ae60598b164c8b4c6786619141012e769 (diff)
downloadchromium_src-836e29803eb5904c781a5ed752b615aeb51ff443.zip
chromium_src-836e29803eb5904c781a5ed752b615aeb51ff443.tar.gz
chromium_src-836e29803eb5904c781a5ed752b615aeb51ff443.tar.bz2
Reland 200220 - Make ExtensionPrefs a ProfileKeyedService.
Since last time: Fixes leaks in TestExtensionSystem. BUG=178218 TBR=asargent@chromium.org,thestig@chromium.org,rlp@chromium.org Review URL: https://chromiumcodereview.appspot.com/15111003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200490 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/test_extension_system.cc')
-rw-r--r--chrome/browser/extensions/test_extension_system.cc25
1 files changed, 13 insertions, 12 deletions
diff --git a/chrome/browser/extensions/test_extension_system.cc b/chrome/browser/extensions/test_extension_system.cc
index f1641e0..fcb55d6 100644
--- a/chrome/browser/extensions/test_extension_system.cc
+++ b/chrome/browser/extensions/test_extension_system.cc
@@ -11,6 +11,8 @@
#include "chrome/browser/extensions/extension_info_map.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_prefs.h"
+#include "chrome/browser/extensions/extension_prefs_factory.h"
#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
@@ -62,37 +64,40 @@ ExtensionPrefs* TestExtensionSystem::CreateExtensionPrefs(
command_line && command_line->HasSwitch(switches::kDisableExtensions);
// Note that the GetPrefs() creates a TestingPrefService, therefore
- // the extension controlled pref values set in extension_prefs_
+ // the extension controlled pref values set in ExtensionPrefs
// are not reflected in the pref service. One would need to
// inject a new ExtensionPrefStore(extension_pref_value_map, false).
- extension_prefs_ = ExtensionPrefs::Create(
+ ExtensionPrefs* extension_prefs = ExtensionPrefs::Create(
profile_->GetPrefs(),
install_directory,
ExtensionPrefValueMapFactory::GetForProfile(profile_),
extensions_disabled);
- return extension_prefs_.get();
+ ExtensionPrefsFactory::GetInstance()->SetInstanceForTesting(
+ profile_,
+ extension_prefs);
+ return extension_prefs;
}
ExtensionService* TestExtensionSystem::CreateExtensionService(
const CommandLine* command_line,
const base::FilePath& install_directory,
bool autoupdate_enabled) {
- if (!extension_prefs_)
+ if (!ExtensionPrefs::Get(profile_))
CreateExtensionPrefs(command_line, install_directory);
state_store_.reset(new StateStore(profile_, new TestingValueStore()));
shell_window_geometry_cache_.reset(
- new ShellWindowGeometryCache(profile_, extension_prefs_.get()));
- blacklist_.reset(new Blacklist(extension_prefs_.get()));
+ new ShellWindowGeometryCache(profile_, ExtensionPrefs::Get(profile_)));
+ blacklist_.reset(new Blacklist(ExtensionPrefs::Get(profile_)));
standard_management_policy_provider_.reset(
- new StandardManagementPolicyProvider(extension_prefs_.get()));
+ new StandardManagementPolicyProvider(ExtensionPrefs::Get(profile_)));
management_policy_.reset(new ManagementPolicy());
management_policy_->RegisterProvider(
standard_management_policy_provider_.get());
extension_service_.reset(new ExtensionService(profile_,
command_line,
install_directory,
- extension_prefs_.get(),
+ ExtensionPrefs::Get(profile_),
blacklist_.get(),
autoupdate_enabled,
true));
@@ -128,10 +133,6 @@ StateStore* TestExtensionSystem::rules_store() {
return state_store_.get();
}
-ExtensionPrefs* TestExtensionSystem::extension_prefs() {
- return extension_prefs_.get();
-}
-
ShellWindowGeometryCache* TestExtensionSystem::shell_window_geometry_cache() {
return shell_window_geometry_cache_.get();
}