Home | History | Annotate | Download | only in prefs
      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