Upload upstream chromium 73.0.3683.0
[platform/framework/web/chromium-efl.git] / components / sync_preferences / testing_pref_service_syncable.cc
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.
4
5 #include "components/sync_preferences/testing_pref_service_syncable.h"
6
7 #include <memory>
8
9 #include "base/bind.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"
14
15 template <>
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
30                                            user_prefs,
31                                            recommended_prefs,
32                                            pref_registry->defaults().get(),
33                                            pref_notifier),
34           user_prefs,
35           pref_registry,
36           /*pref_model_associator_client=*/nullptr,
37           base::Bind(&TestingPrefServiceBase<
38                      PrefServiceSyncable,
39                      user_prefs::PrefRegistrySyncable>::HandleReadError),
40           false),
41       managed_prefs_(managed_prefs),
42       extension_prefs_(extension_prefs),
43       user_prefs_(user_prefs),
44       recommended_prefs_(recommended_prefs) {}
45
46 namespace sync_preferences {
47
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()) {}
57
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>(
67           managed_prefs,
68           extension_prefs,
69           user_prefs,
70           recommended_prefs,
71           pref_registry,
72           pref_notifier) {}
73
74 TestingPrefServiceSyncable::~TestingPrefServiceSyncable() {}
75
76 user_prefs::PrefRegistrySyncable* TestingPrefServiceSyncable::registry() {
77   return static_cast<user_prefs::PrefRegistrySyncable*>(
78       DeprecatedGetPrefRegistry());
79 }
80
81 }  // namespace sync_preferences