testing_pref_service.cc revision 7d4cd473f85ac64c3747c96c277f9e506a0d2246
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 15template <> 16TestingPrefServiceBase<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 40TestingPrefServiceSimple::TestingPrefServiceSimple() 41 : TestingPrefServiceBase<PrefService, PrefRegistry>( 42 new TestingPrefStore(), 43 new TestingPrefStore(), 44 new TestingPrefStore(), 45 new PrefRegistrySimple(), 46 new PrefNotifierImpl()) { 47} 48 49TestingPrefServiceSimple::~TestingPrefServiceSimple() { 50} 51 52PrefRegistrySimple* TestingPrefServiceSimple::registry() { 53 return static_cast<PrefRegistrySimple*>(DeprecatedGetPrefRegistry()); 54} 55