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" 10 #include "components/pref_registry/pref_registry_syncable.h" 11 #include "testing/gtest/include/gtest/gtest.h" 12 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) 20 : PrefServiceSyncable( 21 pref_notifier, 22 new PrefValueStore(managed_prefs, 23 NULL, // supervised_user_prefs 24 NULL, // extension_prefs 25 NULL, // command_line_prefs 26 user_prefs, 27 recommended_prefs, 28 pref_registry->defaults().get(), 29 pref_notifier), 30 user_prefs, 31 pref_registry, 32 base::Bind(&TestingPrefServiceBase< 33 PrefServiceSyncable, 34 user_prefs::PrefRegistrySyncable>::HandleReadError), 35 false), 36 managed_prefs_(managed_prefs), 37 user_prefs_(user_prefs), 38 recommended_prefs_(recommended_prefs) {} 39 40 TestingPrefServiceSyncable::TestingPrefServiceSyncable() 41 : TestingPrefServiceBase<PrefServiceSyncable, 42 user_prefs::PrefRegistrySyncable>( 43 new TestingPrefStore(), 44 new TestingPrefStore(), 45 new TestingPrefStore(), 46 new user_prefs::PrefRegistrySyncable(), 47 new PrefNotifierImpl()) { 48 } 49 50 TestingPrefServiceSyncable::TestingPrefServiceSyncable( 51 TestingPrefStore* managed_prefs, 52 TestingPrefStore* user_prefs, 53 TestingPrefStore* recommended_prefs, 54 user_prefs::PrefRegistrySyncable* pref_registry, 55 PrefNotifierImpl* pref_notifier) 56 : TestingPrefServiceBase<PrefServiceSyncable, 57 user_prefs::PrefRegistrySyncable>( 58 managed_prefs, 59 user_prefs, 60 recommended_prefs, 61 pref_registry, 62 pref_notifier) { 63 } 64 65 TestingPrefServiceSyncable::~TestingPrefServiceSyncable() { 66 } 67 68 user_prefs::PrefRegistrySyncable* TestingPrefServiceSyncable::registry() { 69 return static_cast<user_prefs::PrefRegistrySyncable*>( 70 DeprecatedGetPrefRegistry()); 71 } 72