Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / test / base / testing_pref_service_syncable.h
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
12 namespace user_prefs {
13 class PrefRegistrySyncable;
14 }
15
16 // Test version of PrefServiceSyncable.
17 class 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   ~TestingPrefServiceSyncable() override;
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
38 template <>
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);
45
46 #endif  // CHROME_TEST_BASE_TESTING_PREF_SERVICE_SYNCABLE_H_
47