Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: chrome/browser/prefs/pref_service_mock_builder.cc

Issue 5646003: Sanitize PrefStore interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix PrefService mock construction in PrefServiceTest to include command line store. Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2010 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 #include "chrome/browser/prefs/pref_service_mock_builder.h"
6
7 #include "chrome/browser/browser_thread.h"
8 #include "chrome/browser/policy/configuration_policy_pref_store.h"
9 #include "chrome/browser/prefs/command_line_pref_store.h"
10 #include "chrome/browser/prefs/pref_service.h"
11 #include "chrome/browser/prefs/testing_pref_store.h"
12 #include "chrome/common/json_pref_store.h"
13
14 PrefServiceMockBuilder::PrefServiceMockBuilder()
15 : user_prefs_(new TestingPrefStore),
16 profile_(NULL) {
17 }
18
19 PrefServiceMockBuilder&
20 PrefServiceMockBuilder::WithManagedPlatformPrefs(PrefStore* store) {
21 managed_platform_prefs_.reset(store);
22 return *this;
23 }
24
25 PrefServiceMockBuilder&
26 PrefServiceMockBuilder::WithDeviceManagementPrefs(PrefStore* store) {
27 device_management_prefs_.reset(store);
28 return *this;
29 }
30
31 PrefServiceMockBuilder&
32 PrefServiceMockBuilder::WithExtensionPrefs(PrefStore* store) {
33 extension_prefs_.reset(store);
34 return *this;
35 }
36
37 PrefServiceMockBuilder&
38 PrefServiceMockBuilder::WithCommandLinePrefs(PrefStore* store) {
39 command_line_prefs_.reset(store);
40 return *this;
41 }
42
43 PrefServiceMockBuilder&
44 PrefServiceMockBuilder::WithUserPrefs(PersistentPrefStore* store) {
45 user_prefs_.reset(store);
46 return *this;
47 }
48
49 PrefServiceMockBuilder&
50 PrefServiceMockBuilder::WithRecommendedPrefs(PrefStore* store) {
51 recommended_prefs_.reset(store);
52 return *this;
53 }
54
55 PrefServiceMockBuilder&
56 PrefServiceMockBuilder::WithManagedPlatformProvider(
57 policy::ConfigurationPolicyProvider* provider) {
58 managed_platform_prefs_.reset(
59 new policy::ConfigurationPolicyPrefStore(provider));
60 return *this;
61 }
62
63 PrefServiceMockBuilder&
64 PrefServiceMockBuilder::WithDeviceManagementProvider(
65 policy::ConfigurationPolicyProvider* provider) {
66 device_management_prefs_.reset(
67 new policy::ConfigurationPolicyPrefStore(provider));
68 return *this;
69 }
70
71 PrefServiceMockBuilder&
72 PrefServiceMockBuilder::WithRecommendedProvider(
73 policy::ConfigurationPolicyProvider* provider) {
74 recommended_prefs_.reset(
75 new policy::ConfigurationPolicyPrefStore(provider));
76 return *this;
77 }
78
79 PrefServiceMockBuilder&
80 PrefServiceMockBuilder::WithCommandLine(CommandLine* command_line) {
81 command_line_prefs_.reset(new CommandLinePrefStore(command_line));
82 return *this;
83 }
84
85 PrefServiceMockBuilder&
86 PrefServiceMockBuilder::WithUserFilePrefs(const FilePath& prefs_file) {
87 user_prefs_.reset(
88 new JsonPrefStore(prefs_file,
89 BrowserThread::GetMessageLoopProxyForThread(
90 BrowserThread::FILE)));
91 return *this;
92 }
93
94 PrefService* PrefServiceMockBuilder::Create() {
95 PrefService* pref_service =
96 new PrefService(managed_platform_prefs_.release(),
97 device_management_prefs_.release(),
98 extension_prefs_.release(),
99 command_line_prefs_.release(),
100 user_prefs_.release(),
101 recommended_prefs_.release(),
102 profile_);
103 user_prefs_.reset(new TestingPrefStore);
104 profile_ = NULL;
105
106 return pref_service;
107 }
OLDNEW
« no previous file with comments | « chrome/browser/prefs/pref_service_mock_builder.h ('k') | chrome/browser/prefs/pref_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698