1 // Copyright (c) 2013 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 "components/sync_preferences/testing_pref_service_syncable.h"
10 #include "components/pref_registry/pref_registry_syncable.h"
11 #include "components/prefs/pref_notifier_impl.h"
12 #include "components/prefs/pref_value_store.h"
13 #include "testing/gtest/include/gtest/gtest.h"
16 TestingPrefServiceBase<sync_preferences::PrefServiceSyncable,
17 user_prefs::PrefRegistrySyncable>::
18 TestingPrefServiceBase(TestingPrefStore* managed_prefs,
19 TestingPrefStore* extension_prefs,
20 TestingPrefStore* user_prefs,
21 TestingPrefStore* recommended_prefs,
22 user_prefs::PrefRegistrySyncable* pref_registry,
23 PrefNotifierImpl* pref_notifier)
24 : sync_preferences::PrefServiceSyncable(
25 std::unique_ptr<PrefNotifierImpl>(pref_notifier),
26 std::make_unique<PrefValueStore>(managed_prefs,
27 nullptr, // supervised_user_prefs
28 extension_prefs, // extension_prefs
29 nullptr, // command_line_prefs
32 pref_registry->defaults().get(),
36 /*pref_model_associator_client=*/nullptr,
37 base::Bind(&TestingPrefServiceBase<
39 user_prefs::PrefRegistrySyncable>::HandleReadError),
41 managed_prefs_(managed_prefs),
42 extension_prefs_(extension_prefs),
43 user_prefs_(user_prefs),
44 recommended_prefs_(recommended_prefs) {}
46 namespace sync_preferences {
48 TestingPrefServiceSyncable::TestingPrefServiceSyncable()
49 : TestingPrefServiceBase<PrefServiceSyncable,
50 user_prefs::PrefRegistrySyncable>(
51 new TestingPrefStore(),
52 new TestingPrefStore(),
53 new TestingPrefStore(),
54 new TestingPrefStore(),
55 new user_prefs::PrefRegistrySyncable(),
56 new PrefNotifierImpl()) {}
58 TestingPrefServiceSyncable::TestingPrefServiceSyncable(
59 TestingPrefStore* managed_prefs,
60 TestingPrefStore* extension_prefs,
61 TestingPrefStore* user_prefs,
62 TestingPrefStore* recommended_prefs,
63 user_prefs::PrefRegistrySyncable* pref_registry,
64 PrefNotifierImpl* pref_notifier)
65 : TestingPrefServiceBase<PrefServiceSyncable,
66 user_prefs::PrefRegistrySyncable>(
74 TestingPrefServiceSyncable::~TestingPrefServiceSyncable() {}
76 user_prefs::PrefRegistrySyncable* TestingPrefServiceSyncable::registry() {
77 return static_cast<user_prefs::PrefRegistrySyncable*>(
78 DeprecatedGetPrefRegistry());
81 } // namespace sync_preferences