summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authormnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-07 13:13:28 +0000
committermnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-07 13:13:28 +0000
commitd8b08c98289cc59828a9f9bef0de16252ef9da18 (patch)
tree2cadb8879a5923827f98810c4ca87f31a4d4ef25 /chrome/browser/extensions
parentffcaeac917f846d978c5d5b216ccb06def6d22be (diff)
downloadchromium_src-d8b08c98289cc59828a9f9bef0de16252ef9da18.zip
chromium_src-d8b08c98289cc59828a9f9bef0de16252ef9da18.tar.gz
chromium_src-d8b08c98289cc59828a9f9bef0de16252ef9da18.tar.bz2
Support multiple PrefStores
Add interface for multi_pref_store_manager. BUG=40259 TEST=Unittests in pref_service_unittest.cc, pref_value_store_unittest.cc Review URL: http://codereview.chromium.org/1957005 Patch from Markus Heintz <markusheintz@google.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49048 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r--chrome/browser/extensions/extensions_service_unittest.cc11
-rw-r--r--chrome/browser/extensions/test_extension_prefs.cc16
2 files changed, 19 insertions, 8 deletions
diff --git a/chrome/browser/extensions/extensions_service_unittest.cc b/chrome/browser/extensions/extensions_service_unittest.cc
index a9b8042..a819ef8 100644
--- a/chrome/browser/extensions/extensions_service_unittest.cc
+++ b/chrome/browser/extensions/extensions_service_unittest.cc
@@ -25,6 +25,7 @@
#include "chrome/browser/extensions/extensions_service.h"
#include "chrome/browser/extensions/external_extension_provider.h"
#include "chrome/browser/extensions/external_pref_extension_provider.h"
+#include "chrome/browser/pref_value_store.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/extension_resource.h"
@@ -250,10 +251,14 @@ void ExtensionsServiceTestBase::InitializeExtensionsService(
switches::kEnableApps);
ExtensionTestingProfile* profile = new ExtensionTestingProfile();
- prefs_.reset(new PrefService(
- new JsonPrefStore(
+ // Create a preference service that only contains user defined
+ // preference values.
+ prefs_.reset(new PrefService(new PrefValueStore(
+ NULL, /* No managed preference values */
+ new JsonPrefStore( /* user defined preference values */
pref_file,
- ChromeThread::GetMessageLoopProxyForThread(ChromeThread::FILE))));
+ ChromeThread::GetMessageLoopProxyForThread(ChromeThread::FILE)),
+ NULL /* No suggested preference values */ )));
Profile::RegisterUserPrefs(prefs_.get());
browser::RegisterUserPrefs(prefs_.get());
diff --git a/chrome/browser/extensions/test_extension_prefs.cc b/chrome/browser/extensions/test_extension_prefs.cc
index 716539f..945fb0b 100644
--- a/chrome/browser/extensions/test_extension_prefs.cc
+++ b/chrome/browser/extensions/test_extension_prefs.cc
@@ -4,12 +4,16 @@
#include "chrome/browser/extensions/test_extension_prefs.h"
+
#include "base/file_util.h"
#include "base/logging.h"
#include "base/message_loop.h"
+#include "base/scoped_ptr.h"
+#include "base/values.h"
#include "chrome/browser/chrome_thread.h"
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/pref_service.h"
+#include "chrome/browser/pref_value_store.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/json_pref_store.h"
@@ -37,11 +41,13 @@ void TestExtensionPrefs::RecreateExtensionPrefs() {
file_loop.RunAllPending();
}
- pref_service_.reset(new PrefService(
- new JsonPrefStore(
- preferences_file_,
- ChromeThread::GetMessageLoopProxyForThread(ChromeThread::FILE))));
-
+ // Create a |PrefService| instance that contains only user defined values.
+ pref_service_.reset(new PrefService(new PrefValueStore(
+ NULL, /* no managed preference values*/
+ new JsonPrefStore( /* user defined preferemnce values*/
+ preferences_file_,
+ ChromeThread::GetMessageLoopProxyForThread(ChromeThread::FILE)),
+ NULL /* no suggested preference values*/)));
ExtensionPrefs::RegisterUserPrefs(pref_service_.get());
prefs_.reset(new ExtensionPrefs(pref_service_.get(), temp_dir_.path()));
}