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

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

Issue 90563003: Fix a race condition in preference metric reporting. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments, tidying. 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
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_filter.h"
10 #include "base/prefs/pref_notifier_impl.h" 11 #include "base/prefs/pref_notifier_impl.h"
11 #include "base/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
12 13
13 #include "base/prefs/pref_value_store.h" 14 #include "base/prefs/pref_value_store.h"
14 15
15 namespace { 16 namespace {
16 17
17 // Do-nothing default implementation. 18 // Do-nothing default implementation.
18 void DoNothingHandleReadError(PersistentPrefStore::PrefReadError error) { 19 void DoNothingHandleReadError(PersistentPrefStore::PrefReadError error) {
19 } 20 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 return *this; 60 return *this;
60 } 61 }
61 62
62 PrefServiceBuilder& PrefServiceBuilder::WithReadErrorCallback( 63 PrefServiceBuilder& PrefServiceBuilder::WithReadErrorCallback(
63 const base::Callback<void(PersistentPrefStore::PrefReadError)>& 64 const base::Callback<void(PersistentPrefStore::PrefReadError)>&
64 read_error_callback) { 65 read_error_callback) {
65 read_error_callback_ = read_error_callback; 66 read_error_callback_ = read_error_callback;
66 return *this; 67 return *this;
67 } 68 }
68 69
69 PrefServiceBuilder& PrefServiceBuilder::WithUserFilePrefs( 70 PrefServiceBuilder& PrefServiceBuilder::WithUserFilePrefs(
gab 2013/12/04 22:22:30 This method no longer exists on trunk, consider sy
70 const base::FilePath& prefs_file, 71 const base::FilePath& prefs_file,
71 base::SequencedTaskRunner* task_runner) { 72 base::SequencedTaskRunner* task_runner) {
72 user_prefs_ = new JsonPrefStore(prefs_file, task_runner); 73 user_prefs_ = new JsonPrefStore(prefs_file,
74 task_runner,
75 scoped_ptr<PrefFilter>());
73 return *this; 76 return *this;
74 } 77 }
75 78
76 PrefServiceBuilder& PrefServiceBuilder::WithAsync(bool async) { 79 PrefServiceBuilder& PrefServiceBuilder::WithAsync(bool async) {
77 async_ = async; 80 async_ = async;
78 return *this; 81 return *this;
79 } 82 }
80 83
81 PrefService* PrefServiceBuilder::Create(PrefRegistry* pref_registry) { 84 PrefService* PrefServiceBuilder::Create(PrefRegistry* pref_registry) {
82 PrefNotifierImpl* pref_notifier = new PrefNotifierImpl(); 85 PrefNotifierImpl* pref_notifier = new PrefNotifierImpl();
(...skipping 18 matching lines...) Expand all
101 void PrefServiceBuilder::ResetDefaultState() { 104 void PrefServiceBuilder::ResetDefaultState() {
102 managed_prefs_ = NULL; 105 managed_prefs_ = NULL;
103 supervised_user_prefs_ = NULL; 106 supervised_user_prefs_ = NULL;
104 extension_prefs_ = NULL; 107 extension_prefs_ = NULL;
105 command_line_prefs_ = NULL; 108 command_line_prefs_ = NULL;
106 user_prefs_ = NULL; 109 user_prefs_ = NULL;
107 recommended_prefs_ = NULL; 110 recommended_prefs_ = NULL;
108 read_error_callback_ = base::Bind(&DoNothingHandleReadError); 111 read_error_callback_ = base::Bind(&DoNothingHandleReadError);
109 async_ = false; 112 async_ = false;
110 } 113 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698