[email protected] | 7688968a | 2013-02-12 21:45:13 | [diff] [blame] | 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 "chrome/test/base/testing_pref_service_syncable.h" |
| 6 | |
| 7 | #include "base/bind.h" |
| 8 | #include "base/prefs/pref_notifier_impl.h" |
| 9 | #include "base/prefs/pref_value_store.h" |
[email protected] | 75fee37 | 2013-03-06 00:42:44 | [diff] [blame] | 10 | #include "components/user_prefs/pref_registry_syncable.h" |
[email protected] | 7688968a | 2013-02-12 21:45:13 | [diff] [blame] | 11 | #include "testing/gtest/include/gtest/gtest.h" |
| 12 | |
[email protected] | 443e931 | 2013-05-06 06:17:34 | [diff] [blame^] | 13 | template <> |
| 14 | TestingPrefServiceBase<PrefServiceSyncable, user_prefs::PrefRegistrySyncable>:: |
| 15 | TestingPrefServiceBase(TestingPrefStore* managed_prefs, |
| 16 | TestingPrefStore* user_prefs, |
| 17 | TestingPrefStore* recommended_prefs, |
| 18 | user_prefs::PrefRegistrySyncable* pref_registry, |
| 19 | PrefNotifierImpl* pref_notifier) |
[email protected] | 7688968a | 2013-02-12 21:45:13 | [diff] [blame] | 20 | : PrefServiceSyncable( |
[email protected] | 443e931 | 2013-05-06 06:17:34 | [diff] [blame^] | 21 | pref_notifier, |
| 22 | new PrefValueStore(managed_prefs, |
| 23 | NULL, |
| 24 | NULL, |
| 25 | user_prefs, |
| 26 | recommended_prefs, |
| 27 | pref_registry->defaults(), |
| 28 | pref_notifier), |
| 29 | user_prefs, |
| 30 | pref_registry, |
| 31 | base::Bind(&TestingPrefServiceBase< |
| 32 | PrefServiceSyncable, |
| 33 | user_prefs::PrefRegistrySyncable>::HandleReadError), |
| 34 | false), |
[email protected] | 7688968a | 2013-02-12 21:45:13 | [diff] [blame] | 35 | managed_prefs_(managed_prefs), |
| 36 | user_prefs_(user_prefs), |
[email protected] | 443e931 | 2013-05-06 06:17:34 | [diff] [blame^] | 37 | recommended_prefs_(recommended_prefs) {} |
[email protected] | 7688968a | 2013-02-12 21:45:13 | [diff] [blame] | 38 | |
| 39 | TestingPrefServiceSyncable::TestingPrefServiceSyncable() |
[email protected] | 443e931 | 2013-05-06 06:17:34 | [diff] [blame^] | 40 | : TestingPrefServiceBase<PrefServiceSyncable, |
| 41 | user_prefs::PrefRegistrySyncable>( |
[email protected] | 7688968a | 2013-02-12 21:45:13 | [diff] [blame] | 42 | new TestingPrefStore(), |
| 43 | new TestingPrefStore(), |
| 44 | new TestingPrefStore(), |
[email protected] | 443e931 | 2013-05-06 06:17:34 | [diff] [blame^] | 45 | new user_prefs::PrefRegistrySyncable(), |
[email protected] | 7688968a | 2013-02-12 21:45:13 | [diff] [blame] | 46 | new PrefNotifierImpl()) { |
| 47 | } |
| 48 | |
[email protected] | f830f3d | 2013-03-12 22:23:48 | [diff] [blame] | 49 | TestingPrefServiceSyncable::TestingPrefServiceSyncable( |
| 50 | TestingPrefStore* managed_prefs, |
| 51 | TestingPrefStore* user_prefs, |
| 52 | TestingPrefStore* recommended_prefs, |
[email protected] | 443e931 | 2013-05-06 06:17:34 | [diff] [blame^] | 53 | user_prefs::PrefRegistrySyncable* pref_registry, |
[email protected] | f830f3d | 2013-03-12 22:23:48 | [diff] [blame] | 54 | PrefNotifierImpl* pref_notifier) |
[email protected] | 443e931 | 2013-05-06 06:17:34 | [diff] [blame^] | 55 | : TestingPrefServiceBase<PrefServiceSyncable, |
| 56 | user_prefs::PrefRegistrySyncable>( |
[email protected] | f830f3d | 2013-03-12 22:23:48 | [diff] [blame] | 57 | managed_prefs, |
| 58 | user_prefs, |
| 59 | recommended_prefs, |
| 60 | pref_registry, |
| 61 | pref_notifier) { |
| 62 | } |
| 63 | |
[email protected] | 7688968a | 2013-02-12 21:45:13 | [diff] [blame] | 64 | TestingPrefServiceSyncable::~TestingPrefServiceSyncable() { |
| 65 | } |
| 66 | |
[email protected] | 443e931 | 2013-05-06 06:17:34 | [diff] [blame^] | 67 | user_prefs::PrefRegistrySyncable* TestingPrefServiceSyncable::registry() { |
| 68 | return static_cast<user_prefs::PrefRegistrySyncable*>( |
| 69 | DeprecatedGetPrefRegistry()); |
[email protected] | 7688968a | 2013-02-12 21:45:13 | [diff] [blame] | 70 | } |