| Index: chrome/browser/prefs/pref_service_mock_builder.cc
|
| diff --git a/chrome/browser/prefs/pref_service_mock_builder.cc b/chrome/browser/prefs/pref_service_mock_builder.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3060948fea420acc5023dee64cdc4375b993ee46
|
| --- /dev/null
|
| +++ b/chrome/browser/prefs/pref_service_mock_builder.cc
|
| @@ -0,0 +1,107 @@
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/prefs/pref_service_mock_builder.h"
|
| +
|
| +#include "chrome/browser/browser_thread.h"
|
| +#include "chrome/browser/policy/configuration_policy_pref_store.h"
|
| +#include "chrome/browser/prefs/command_line_pref_store.h"
|
| +#include "chrome/browser/prefs/pref_service.h"
|
| +#include "chrome/browser/prefs/testing_pref_store.h"
|
| +#include "chrome/common/json_pref_store.h"
|
| +
|
| +PrefServiceMockBuilder::PrefServiceMockBuilder()
|
| + : user_prefs_(new TestingPrefStore),
|
| + profile_(NULL) {
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithManagedPlatformPrefs(PrefStore* store) {
|
| + managed_platform_prefs_.reset(store);
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithDeviceManagementPrefs(PrefStore* store) {
|
| + device_management_prefs_.reset(store);
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithExtensionPrefs(PrefStore* store) {
|
| + extension_prefs_.reset(store);
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithCommandLinePrefs(PrefStore* store) {
|
| + command_line_prefs_.reset(store);
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithUserPrefs(PersistentPrefStore* store) {
|
| + user_prefs_.reset(store);
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithRecommendedPrefs(PrefStore* store) {
|
| + recommended_prefs_.reset(store);
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithManagedPlatformProvider(
|
| + policy::ConfigurationPolicyProvider* provider) {
|
| + managed_platform_prefs_.reset(
|
| + new policy::ConfigurationPolicyPrefStore(provider));
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithDeviceManagementProvider(
|
| + policy::ConfigurationPolicyProvider* provider) {
|
| + device_management_prefs_.reset(
|
| + new policy::ConfigurationPolicyPrefStore(provider));
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithRecommendedProvider(
|
| + policy::ConfigurationPolicyProvider* provider) {
|
| + recommended_prefs_.reset(
|
| + new policy::ConfigurationPolicyPrefStore(provider));
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithCommandLine(CommandLine* command_line) {
|
| + command_line_prefs_.reset(new CommandLinePrefStore(command_line));
|
| + return *this;
|
| +}
|
| +
|
| +PrefServiceMockBuilder&
|
| +PrefServiceMockBuilder::WithUserFilePrefs(const FilePath& prefs_file) {
|
| + user_prefs_.reset(
|
| + new JsonPrefStore(prefs_file,
|
| + BrowserThread::GetMessageLoopProxyForThread(
|
| + BrowserThread::FILE)));
|
| + return *this;
|
| +}
|
| +
|
| +PrefService* PrefServiceMockBuilder::Create() {
|
| + PrefService* pref_service =
|
| + new PrefService(managed_platform_prefs_.release(),
|
| + device_management_prefs_.release(),
|
| + extension_prefs_.release(),
|
| + command_line_prefs_.release(),
|
| + user_prefs_.release(),
|
| + recommended_prefs_.release(),
|
| + profile_);
|
| + user_prefs_.reset(new TestingPrefStore);
|
| + profile_ = NULL;
|
| +
|
| + return pref_service;
|
| +}
|
|
|