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.
5 #ifndef CHROME_TEST_BASE_TESTING_PREF_SERVICE_SYNCABLE_H_
6 #define CHROME_TEST_BASE_TESTING_PREF_SERVICE_SYNCABLE_H_
8 #include "base/basictypes.h"
9 #include "base/prefs/testing_pref_service.h"
10 #include "chrome/browser/prefs/pref_service_syncable.h"
12 namespace user_prefs
{
13 class PrefRegistrySyncable
;
16 // Test version of PrefServiceSyncable.
17 class TestingPrefServiceSyncable
18 : public TestingPrefServiceBase
<PrefServiceSyncable
,
19 user_prefs::PrefRegistrySyncable
> {
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 ~TestingPrefServiceSyncable() override
;
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();
35 DISALLOW_COPY_AND_ASSIGN(TestingPrefServiceSyncable
);
39 TestingPrefServiceBase
<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
);
46 #endif // CHROME_TEST_BASE_TESTING_PREF_SERVICE_SYNCABLE_H_