testing_pref_service_syncable.cc revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Use of this source code is governed by a BSD-style license that can be
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// found in the LICENSE file.
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#include "chrome/test/base/testing_pref_service_syncable.h"
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
7daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com#include "base/bind.h"
88a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "base/prefs/pref_notifier_impl.h"
97ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com#include "base/prefs/pref_value_store.h"
108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "components/user_prefs/pref_registry_syncable.h"
118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "testing/gtest/include/gtest/gtest.h"
124991b8f23482afc1494fd17647421ce68de53331robertphillips@google.com
138b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.orgtemplate <>
148b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.orgTestingPrefServiceBase<PrefServiceSyncable, user_prefs::PrefRegistrySyncable>::
158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    TestingPrefServiceBase(TestingPrefStore* managed_prefs,
164991b8f23482afc1494fd17647421ce68de53331robertphillips@google.com                           TestingPrefStore* user_prefs,
174991b8f23482afc1494fd17647421ce68de53331robertphillips@google.com                           TestingPrefStore* recommended_prefs,
184991b8f23482afc1494fd17647421ce68de53331robertphillips@google.com                           user_prefs::PrefRegistrySyncable* pref_registry,
198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com                           PrefNotifierImpl* pref_notifier)
2073cb15351f33459e0c861a96135c634dec77ef9dcommit-bot@chromium.org    : PrefServiceSyncable(
218a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com          pref_notifier,
227ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com          new PrefValueStore(managed_prefs,
237ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com                             NULL,
247ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com                             NULL,
2573cb15351f33459e0c861a96135c634dec77ef9dcommit-bot@chromium.org                             user_prefs,
267ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com                             recommended_prefs,
277bd141dce43ea3405bc60c9c84e6f910b851b079skia.committer@gmail.com                             pref_registry->defaults(),
287ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com                             pref_notifier),
297ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com          user_prefs,
307ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com          pref_registry,
317ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com          base::Bind(&TestingPrefServiceBase<
32daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com              PrefServiceSyncable,
33daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com              user_prefs::PrefRegistrySyncable>::HandleReadError),
34daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com          false),
35daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com      managed_prefs_(managed_prefs),
36daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com      user_prefs_(user_prefs),
37daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com      recommended_prefs_(recommended_prefs) {}
38daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com
39daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.comTestingPrefServiceSyncable::TestingPrefServiceSyncable()
40daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com    : TestingPrefServiceBase<PrefServiceSyncable,
41daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com                             user_prefs::PrefRegistrySyncable>(
42daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com        new TestingPrefStore(),
43daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com        new TestingPrefStore(),
44daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com        new TestingPrefStore(),
454e2b3d3fb1288c6dc0f3ea1c0aa4a0d7c603bd7breed@google.com        new user_prefs::PrefRegistrySyncable(),
468a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com        new PrefNotifierImpl()) {
474868e6b221a4a98e40f977851af5fcf09631ea15senorblanco@chromium.org}
48daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com
49daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.comTestingPrefServiceSyncable::TestingPrefServiceSyncable(
50a6398911174d5445456ecb2f5f4f0565db2f100bjunov@google.com    TestingPrefStore* managed_prefs,
51a6398911174d5445456ecb2f5f4f0565db2f100bjunov@google.com    TestingPrefStore* user_prefs,
52daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com    TestingPrefStore* recommended_prefs,
534868e6b221a4a98e40f977851af5fcf09631ea15senorblanco@chromium.org    user_prefs::PrefRegistrySyncable* pref_registry,
544e2b3d3fb1288c6dc0f3ea1c0aa4a0d7c603bd7breed@google.com    PrefNotifierImpl* pref_notifier)
554e2b3d3fb1288c6dc0f3ea1c0aa4a0d7c603bd7breed@google.com    : TestingPrefServiceBase<PrefServiceSyncable,
564e2b3d3fb1288c6dc0f3ea1c0aa4a0d7c603bd7breed@google.com                             user_prefs::PrefRegistrySyncable>(
574868e6b221a4a98e40f977851af5fcf09631ea15senorblanco@chromium.org        managed_prefs,
584868e6b221a4a98e40f977851af5fcf09631ea15senorblanco@chromium.org        user_prefs,
598a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com        recommended_prefs,
608a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com        pref_registry,
61daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com        pref_notifier) {
62daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com}
63daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com
64daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.comTestingPrefServiceSyncable::~TestingPrefServiceSyncable() {
65daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com}
66daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com
67daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.comuser_prefs::PrefRegistrySyncable* TestingPrefServiceSyncable::registry() {
68daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com  return static_cast<user_prefs::PrefRegistrySyncable*>(
69daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com      DeprecatedGetPrefRegistry());
70daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com}
71daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com