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 user_prefs, 28 recommended_prefs, 29 pref_registry->defaults().get(), 30 pref_notifier), 31 user_prefs, 32 pref_registry, 33 base::Bind(&TestingPrefServiceBase<PrefService, 34 PrefRegistry>::HandleReadError), 35 false), 36 managed_prefs_(managed_prefs), 37 user_prefs_(user_prefs), 38 recommended_prefs_(recommended_prefs) {} 39 40 TestingPrefServiceSimple::TestingPrefServiceSimple() 41 : TestingPrefServiceBase<PrefService, PrefRegistry>( 42 new TestingPrefStore(), 43 new TestingPrefStore(), 44 new TestingPrefStore(), 45 new PrefRegistrySimple(), 46 new PrefNotifierImpl()) { 47 } 48 49 TestingPrefServiceSimple::~TestingPrefServiceSimple() { 50 } 51 52 PrefRegistrySimple* TestingPrefServiceSimple::registry() { 53 return static_cast<PrefRegistrySimple*>(DeprecatedGetPrefRegistry()); 54 } 55