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