Push API: Fix unsubscribing from GCM on Android
[chromium-blink-merge.git] / base / prefs / testing_pref_service.cc
blob5899376ad1852e7799d84d212207d0921e6175dd
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.
5 #include "base/prefs/testing_pref_service.h"
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"
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 NULL,
28 user_prefs,
29 recommended_prefs,
30 pref_registry->defaults().get(),
31 pref_notifier),
32 user_prefs,
33 pref_registry,
34 base::Bind(&TestingPrefServiceBase<PrefService,
35 PrefRegistry>::HandleReadError),
36 false),
37 managed_prefs_(managed_prefs),
38 user_prefs_(user_prefs),
39 recommended_prefs_(recommended_prefs) {}
41 TestingPrefServiceSimple::TestingPrefServiceSimple()
42 : TestingPrefServiceBase<PrefService, PrefRegistry>(
43 new TestingPrefStore(),
44 new TestingPrefStore(),
45 new TestingPrefStore(),
46 new PrefRegistrySimple(),
47 new PrefNotifierImpl()) {}
49 TestingPrefServiceSimple::~TestingPrefServiceSimple() {
52 PrefRegistrySimple* TestingPrefServiceSimple::registry() {
53 return static_cast<PrefRegistrySimple*>(DeprecatedGetPrefRegistry());