OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |