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                              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