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#ifndef CHROME_TEST_BASE_TESTING_PREF_SERVICE_SYNCABLE_H_ 6#define CHROME_TEST_BASE_TESTING_PREF_SERVICE_SYNCABLE_H_ 7 8#include "base/basictypes.h" 9#include "base/prefs/testing_pref_service.h" 10#include "chrome/browser/prefs/pref_service_syncable.h" 11 12namespace user_prefs { 13class PrefRegistrySyncable; 14} 15 16// Test version of PrefServiceSyncable. 17class TestingPrefServiceSyncable 18 : public TestingPrefServiceBase<PrefServiceSyncable, 19 user_prefs::PrefRegistrySyncable> { 20 public: 21 TestingPrefServiceSyncable(); 22 TestingPrefServiceSyncable(TestingPrefStore* managed_prefs, 23 TestingPrefStore* user_prefs, 24 TestingPrefStore* recommended_prefs, 25 user_prefs::PrefRegistrySyncable* pref_registry, 26 PrefNotifierImpl* pref_notifier); 27 virtual ~TestingPrefServiceSyncable(); 28 29 // This is provided as a convenience; on a production PrefService 30 // you would do all registrations before constructing it, passing it 31 // a PrefRegistry via its constructor (or via e.g. PrefServiceFactory). 32 user_prefs::PrefRegistrySyncable* registry(); 33 34 private: 35 DISALLOW_COPY_AND_ASSIGN(TestingPrefServiceSyncable); 36}; 37 38template <> 39TestingPrefServiceBase<PrefServiceSyncable, user_prefs::PrefRegistrySyncable>:: 40 TestingPrefServiceBase(TestingPrefStore* managed_prefs, 41 TestingPrefStore* user_prefs, 42 TestingPrefStore* recommended_prefs, 43 user_prefs::PrefRegistrySyncable* pref_registry, 44 PrefNotifierImpl* pref_notifier); 45 46#endif // CHROME_TEST_BASE_TESTING_PREF_SERVICE_SYNCABLE_H_ 47 48