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. 4 5 #include "base/prefs/testing_pref_service.h" 6 7 #include "base/bind.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" 14 15 template <> 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) 22 : PrefService( 23 pref_notifier, 24 new PrefValueStore(managed_prefs, 25 NULL, 26 NULL, 27 NULL, 28 user_prefs, 29 recommended_prefs, 30 pref_registry->defaults().get(), 31 pref_notifier), 32 user_prefs, 33 pref_registry, 34 base::Bind(&TestingPrefServiceBase<PrefService, 35 PrefRegistry>::HandleReadError), 36 false), 37 managed_prefs_(managed_prefs), 38 user_prefs_(user_prefs), 39 recommended_prefs_(recommended_prefs) {} 40 41 TestingPrefServiceSimple::TestingPrefServiceSimple() 42 : TestingPrefServiceBase<PrefService, PrefRegistry>( 43 new TestingPrefStore(), 44 new TestingPrefStore(), 45 new TestingPrefStore(), 46 new PrefRegistrySimple(), 47 new PrefNotifierImpl()) {} 48 49 TestingPrefServiceSimple::~TestingPrefServiceSimple() { 50 } 51 52 PrefRegistrySimple* TestingPrefServiceSimple::registry() { 53 return static_cast<PrefRegistrySimple*>(DeprecatedGetPrefRegistry()); 54 } 55