1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/prefs/testing_pref_service.h"
8 #include "base/compiler_specific.h"
9 #include "base/prefs/default_pref_store.h"
10 #include "base/prefs/pref_notifier_impl.h"
11 #include "base/prefs/pref_registry_simple.h"
12 #include "base/prefs/pref_value_store.h"
13 #include "testing/gtest/include/gtest/gtest.h"
16 TestingPrefServiceBase<PrefService, PrefRegistry>::TestingPrefServiceBase(
17 TestingPrefStore* managed_prefs,
18 TestingPrefStore* user_prefs,
19 TestingPrefStore* recommended_prefs,
20 PrefRegistry* pref_registry,
21 PrefNotifierImpl* pref_notifier)
24 new PrefValueStore(managed_prefs,
30 pref_registry->defaults().get(),
34 base::Bind(&TestingPrefServiceBase<PrefService,
35 PrefRegistry>::HandleReadError),
37 managed_prefs_(managed_prefs),
38 user_prefs_(user_prefs),
39 recommended_prefs_(recommended_prefs) {}
41 TestingPrefServiceSimple::TestingPrefServiceSimple()
42 : TestingPrefServiceBase<PrefService, PrefRegistry>(
43 new TestingPrefStore(),
44 new TestingPrefStore(),
45 new TestingPrefStore(),
46 new PrefRegistrySimple(),
47 new PrefNotifierImpl()) {}
49 TestingPrefServiceSimple::~TestingPrefServiceSimple() {
52 PrefRegistrySimple* TestingPrefServiceSimple::registry() {
53 return static_cast<PrefRegistrySimple*>(DeprecatedGetPrefRegistry());