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

Side by Side Diff: base/prefs/pref_service.h

Issue 81183005: Remove JsonPrefStore pruning of empty values on write. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove else Created 7 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
« no previous file with comments | « base/prefs/pref_registry.cc ('k') | base/prefs/pref_service.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // This provides a way to access the application's current preferences. 5 // This provides a way to access the application's current preferences.
6 6
7 // Chromium settings and storage represent user-selected preferences and 7 // Chromium settings and storage represent user-selected preferences and
8 // information and MUST not be extracted, overwritten or modified except 8 // information and MUST not be extracted, overwritten or modified except
9 // through Chromium defined APIs. 9 // through Chromium defined APIs.
10 10
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 // Changes the default value for a preference. Takes ownership of |value|. 214 // Changes the default value for a preference. Takes ownership of |value|.
215 // 215 //
216 // Will cause a pref change notification to be fired if this causes 216 // Will cause a pref change notification to be fired if this causes
217 // the effective value to change. 217 // the effective value to change.
218 void SetDefaultPrefValue(const char* path, base::Value* value); 218 void SetDefaultPrefValue(const char* path, base::Value* value);
219 219
220 // Returns the default value of the given preference. |path| must point to a 220 // Returns the default value of the given preference. |path| must point to a
221 // registered preference. In that case, will never return NULL. 221 // registered preference. In that case, will never return NULL.
222 const base::Value* GetDefaultPrefValue(const char* path) const; 222 const base::Value* GetDefaultPrefValue(const char* path) const;
223 223
224 // Deprecated. Do not add calls to this method.
225 // Marks that the user store should not prune out empty values for |key| when
226 // writting to disk.
227 // TODO(gab): Enforce this at a lower level for all values and remove this
228 // method.
229 void MarkUserStoreNeedsEmptyValue(const std::string& key) const;
230
231 // Returns true if a value has been set for the specified path. 224 // Returns true if a value has been set for the specified path.
232 // NOTE: this is NOT the same as FindPreference. In particular 225 // NOTE: this is NOT the same as FindPreference. In particular
233 // FindPreference returns whether RegisterXXX has been invoked, where as 226 // FindPreference returns whether RegisterXXX has been invoked, where as
234 // this checks if a value exists for the path. 227 // this checks if a value exists for the path.
235 bool HasPrefPath(const char* path) const; 228 bool HasPrefPath(const char* path) const;
236 229
237 // Returns a dictionary with effective preference values. The ownership 230 // Returns a dictionary with effective preference values. The ownership
238 // is passed to the caller. 231 // is passed to the caller.
239 scoped_ptr<base::DictionaryValue> GetPreferenceValues() const; 232 scoped_ptr<base::DictionaryValue> GetPreferenceValues() const;
240 233
(...skipping 20 matching lines...) Expand all
261 // parameter will be set to true for successful initialization, 254 // parameter will be set to true for successful initialization,
262 // false for unsuccessful. 255 // false for unsuccessful.
263 void AddPrefInitObserver(base::Callback<void(bool)> callback); 256 void AddPrefInitObserver(base::Callback<void(bool)> callback);
264 257
265 // Returns the PrefRegistry object for this service. You should not 258 // Returns the PrefRegistry object for this service. You should not
266 // use this; the intent is for no registrations to take place after 259 // use this; the intent is for no registrations to take place after
267 // PrefService has been constructed. 260 // PrefService has been constructed.
268 PrefRegistry* DeprecatedGetPrefRegistry(); 261 PrefRegistry* DeprecatedGetPrefRegistry();
269 262
270 protected: 263 protected:
271 // Adds the registered preferences from the PrefRegistry instance
272 // passed to us at construction time.
273 void AddInitialPreferences();
274
275 // Updates local caches for a preference registered at |path|. The
276 // |default_value| must not be NULL as it determines the preference
277 // value's type. AddRegisteredPreference must not be called twice
278 // for the same path.
279 void AddRegisteredPreference(const char* path,
280 base::Value* default_value);
281
282 // The PrefNotifier handles registering and notifying preference observers. 264 // The PrefNotifier handles registering and notifying preference observers.
283 // It is created and owned by this PrefService. Subclasses may access it for 265 // It is created and owned by this PrefService. Subclasses may access it for
284 // unit testing. 266 // unit testing.
285 scoped_ptr<PrefNotifierImpl> pref_notifier_; 267 scoped_ptr<PrefNotifierImpl> pref_notifier_;
286 268
287 // The PrefValueStore provides prioritized preference values. It is owned by 269 // The PrefValueStore provides prioritized preference values. It is owned by
288 // this PrefService. Subclasses may access it for unit testing. 270 // this PrefService. Subclasses may access it for unit testing.
289 scoped_ptr<PrefValueStore> pref_value_store_; 271 scoped_ptr<PrefValueStore> pref_value_store_;
290 272
291 scoped_refptr<PrefRegistry> pref_registry_; 273 scoped_refptr<PrefRegistry> pref_registry_;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 340
359 // Local cache of registered Preference objects. The pref_registry_ 341 // Local cache of registered Preference objects. The pref_registry_
360 // is authoritative with respect to what the types and default values 342 // is authoritative with respect to what the types and default values
361 // of registered preferences are. 343 // of registered preferences are.
362 mutable PreferenceMap prefs_map_; 344 mutable PreferenceMap prefs_map_;
363 345
364 DISALLOW_COPY_AND_ASSIGN(PrefService); 346 DISALLOW_COPY_AND_ASSIGN(PrefService);
365 }; 347 };
366 348
367 #endif // BASE_PREFS_PREF_SERVICE_H_ 349 #endif // BASE_PREFS_PREF_SERVICE_H_
OLDNEW
« no previous file with comments | « base/prefs/pref_registry.cc ('k') | base/prefs/pref_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698