1// Copyright (c) 2013 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 "chrome/test/base/testing_pref_service_syncable.h" 6 7#include "base/bind.h" 8#include "base/prefs/pref_notifier_impl.h" 9#include "base/prefs/pref_value_store.h" 10#include "components/pref_registry/pref_registry_syncable.h" 11#include "testing/gtest/include/gtest/gtest.h" 12 13template <> 14TestingPrefServiceBase<PrefServiceSyncable, user_prefs::PrefRegistrySyncable>:: 15 TestingPrefServiceBase(TestingPrefStore* managed_prefs, 16 TestingPrefStore* user_prefs, 17 TestingPrefStore* recommended_prefs, 18 user_prefs::PrefRegistrySyncable* pref_registry, 19 PrefNotifierImpl* pref_notifier) 20 : PrefServiceSyncable( 21 pref_notifier, 22 new PrefValueStore(managed_prefs, 23 NULL, // supervised_user_prefs 24 NULL, // extension_prefs 25 NULL, // command_line_prefs 26 user_prefs, 27 recommended_prefs, 28 pref_registry->defaults().get(), 29 pref_notifier), 30 user_prefs, 31 pref_registry, 32 base::Bind(&TestingPrefServiceBase< 33 PrefServiceSyncable, 34 user_prefs::PrefRegistrySyncable>::HandleReadError), 35 false), 36 managed_prefs_(managed_prefs), 37 user_prefs_(user_prefs), 38 recommended_prefs_(recommended_prefs) {} 39 40TestingPrefServiceSyncable::TestingPrefServiceSyncable() 41 : TestingPrefServiceBase<PrefServiceSyncable, 42 user_prefs::PrefRegistrySyncable>( 43 new TestingPrefStore(), 44 new TestingPrefStore(), 45 new TestingPrefStore(), 46 new user_prefs::PrefRegistrySyncable(), 47 new PrefNotifierImpl()) { 48} 49 50TestingPrefServiceSyncable::TestingPrefServiceSyncable( 51 TestingPrefStore* managed_prefs, 52 TestingPrefStore* user_prefs, 53 TestingPrefStore* recommended_prefs, 54 user_prefs::PrefRegistrySyncable* pref_registry, 55 PrefNotifierImpl* pref_notifier) 56 : TestingPrefServiceBase<PrefServiceSyncable, 57 user_prefs::PrefRegistrySyncable>( 58 managed_prefs, 59 user_prefs, 60 recommended_prefs, 61 pref_registry, 62 pref_notifier) { 63} 64 65TestingPrefServiceSyncable::~TestingPrefServiceSyncable() { 66} 67 68user_prefs::PrefRegistrySyncable* TestingPrefServiceSyncable::registry() { 69 return static_cast<user_prefs::PrefRegistrySyncable*>( 70 DeprecatedGetPrefRegistry()); 71} 72