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

Side by Side Diff: base/prefs/pref_service_builder.cc

Issue 23592013: Add support for a managed user pref store to PrefService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/prefs/pref_service_builder.h" 5 #include "base/prefs/pref_service_builder.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/prefs/default_pref_store.h" 8 #include "base/prefs/default_pref_store.h"
9 #include "base/prefs/json_pref_store.h" 9 #include "base/prefs/json_pref_store.h"
10 #include "base/prefs/pref_notifier_impl.h" 10 #include "base/prefs/pref_notifier_impl.h"
(...skipping 14 matching lines...) Expand all
25 } 25 }
26 26
27 PrefServiceBuilder::~PrefServiceBuilder() { 27 PrefServiceBuilder::~PrefServiceBuilder() {
28 } 28 }
29 29
30 PrefServiceBuilder& PrefServiceBuilder::WithManagedPrefs(PrefStore* store) { 30 PrefServiceBuilder& PrefServiceBuilder::WithManagedPrefs(PrefStore* store) {
31 managed_prefs_ = store; 31 managed_prefs_ = store;
32 return *this; 32 return *this;
33 } 33 }
34 34
35 PrefServiceBuilder& PrefServiceBuilder::WithManagedUserPrefs(PrefStore* store) {
36 managed_user_prefs_ = store;
37 return *this;
38 }
39
35 PrefServiceBuilder& PrefServiceBuilder::WithExtensionPrefs(PrefStore* store) { 40 PrefServiceBuilder& PrefServiceBuilder::WithExtensionPrefs(PrefStore* store) {
36 extension_prefs_ = store; 41 extension_prefs_ = store;
37 return *this; 42 return *this;
38 } 43 }
39 44
40 PrefServiceBuilder& PrefServiceBuilder::WithCommandLinePrefs(PrefStore* store) { 45 PrefServiceBuilder& PrefServiceBuilder::WithCommandLinePrefs(PrefStore* store) {
41 command_line_prefs_ = store; 46 command_line_prefs_ = store;
42 return *this; 47 return *this;
43 } 48 }
44 49
(...skipping 25 matching lines...) Expand all
70 PrefServiceBuilder& PrefServiceBuilder::WithAsync(bool async) { 75 PrefServiceBuilder& PrefServiceBuilder::WithAsync(bool async) {
71 async_ = async; 76 async_ = async;
72 return *this; 77 return *this;
73 } 78 }
74 79
75 PrefService* PrefServiceBuilder::Create(PrefRegistry* pref_registry) { 80 PrefService* PrefServiceBuilder::Create(PrefRegistry* pref_registry) {
76 PrefNotifierImpl* pref_notifier = new PrefNotifierImpl(); 81 PrefNotifierImpl* pref_notifier = new PrefNotifierImpl();
77 PrefService* pref_service = 82 PrefService* pref_service =
78 new PrefService(pref_notifier, 83 new PrefService(pref_notifier,
79 new PrefValueStore(managed_prefs_.get(), 84 new PrefValueStore(managed_prefs_.get(),
85 managed_user_prefs_.get(),
80 extension_prefs_.get(), 86 extension_prefs_.get(),
81 command_line_prefs_.get(), 87 command_line_prefs_.get(),
82 user_prefs_.get(), 88 user_prefs_.get(),
83 recommended_prefs_.get(), 89 recommended_prefs_.get(),
84 pref_registry->defaults().get(), 90 pref_registry->defaults().get(),
85 pref_notifier), 91 pref_notifier),
86 user_prefs_.get(), 92 user_prefs_.get(),
87 pref_registry, 93 pref_registry,
88 read_error_callback_, 94 read_error_callback_,
89 async_); 95 async_);
90 ResetDefaultState(); 96 ResetDefaultState();
91 return pref_service; 97 return pref_service;
92 } 98 }
93 99
94 void PrefServiceBuilder::ResetDefaultState() { 100 void PrefServiceBuilder::ResetDefaultState() {
95 managed_prefs_ = NULL; 101 managed_prefs_ = NULL;
102 managed_user_prefs_ = NULL;
96 extension_prefs_ = NULL; 103 extension_prefs_ = NULL;
97 command_line_prefs_ = NULL; 104 command_line_prefs_ = NULL;
98 user_prefs_ = NULL; 105 user_prefs_ = NULL;
99 recommended_prefs_ = NULL; 106 recommended_prefs_ = NULL;
100 read_error_callback_ = base::Bind(&DoNothingHandleReadError); 107 read_error_callback_ = base::Bind(&DoNothingHandleReadError);
101 async_ = false; 108 async_ = false;
102 } 109 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698