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

Side by Side Diff: components/prefs/json_pref_store.cc

Issue 2751603002: Remove the alternative preferences filename from JsonPrefStore. (Closed)
Patch Set: Created 3 years, 9 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
« no previous file with comments | « components/prefs/json_pref_store.h ('k') | components/prefs/json_pref_store_unittest.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 #include "components/prefs/json_pref_store.h" 5 #include "components/prefs/json_pref_store.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <utility> 10 #include <utility>
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 // The histogram below is an expansion of the UMA_HISTOGRAM_CUSTOM_COUNTS 104 // The histogram below is an expansion of the UMA_HISTOGRAM_CUSTOM_COUNTS
105 // macro adapted to allow for a dynamically suffixed histogram name. 105 // macro adapted to allow for a dynamically suffixed histogram name.
106 // Note: The factory creates and owns the histogram. 106 // Note: The factory creates and owns the histogram.
107 base::HistogramBase* histogram = base::Histogram::FactoryGet( 107 base::HistogramBase* histogram = base::Histogram::FactoryGet(
108 "Settings.JsonDataReadSizeKilobytes." + spaceless_basename, 1, 10000, 50, 108 "Settings.JsonDataReadSizeKilobytes." + spaceless_basename, 1, 10000, 50,
109 base::HistogramBase::kUmaTargetedHistogramFlag); 109 base::HistogramBase::kUmaTargetedHistogramFlag);
110 histogram->Add(static_cast<int>(size) / 1024); 110 histogram->Add(static_cast<int>(size) / 1024);
111 } 111 }
112 112
113 std::unique_ptr<JsonPrefStore::ReadResult> ReadPrefsFromDisk( 113 std::unique_ptr<JsonPrefStore::ReadResult> ReadPrefsFromDisk(
114 const base::FilePath& path, 114 const base::FilePath& path) {
115 const base::FilePath& alternate_path) {
116 if (!base::PathExists(path) && !alternate_path.empty() &&
117 base::PathExists(alternate_path)) {
118 base::Move(alternate_path, path);
119 }
120
121 int error_code; 115 int error_code;
122 std::string error_msg; 116 std::string error_msg;
123 std::unique_ptr<JsonPrefStore::ReadResult> read_result( 117 std::unique_ptr<JsonPrefStore::ReadResult> read_result(
124 new JsonPrefStore::ReadResult); 118 new JsonPrefStore::ReadResult);
125 JSONFileValueDeserializer deserializer(path); 119 JSONFileValueDeserializer deserializer(path);
126 read_result->value = deserializer.Deserialize(&error_code, &error_msg); 120 read_result->value = deserializer.Deserialize(&error_code, &error_msg);
127 read_result->error = 121 read_result->error =
128 HandleReadErrors(read_result->value.get(), path, error_code, error_msg); 122 HandleReadErrors(read_result->value.get(), path, error_code, error_msg);
129 read_result->no_dir = !base::PathExists(path.DirName()); 123 read_result->no_dir = !base::PathExists(path.DirName());
130 124
(...skipping 13 matching lines...) Expand all
144 token.append(filename.AsUTF8Unsafe()); 138 token.append(filename.AsUTF8Unsafe());
145 return worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( 139 return worker_pool->GetSequencedTaskRunnerWithShutdownBehavior(
146 worker_pool->GetNamedSequenceToken(token), 140 worker_pool->GetNamedSequenceToken(token),
147 base::SequencedWorkerPool::BLOCK_SHUTDOWN); 141 base::SequencedWorkerPool::BLOCK_SHUTDOWN);
148 } 142 }
149 143
150 JsonPrefStore::JsonPrefStore( 144 JsonPrefStore::JsonPrefStore(
151 const base::FilePath& pref_filename, 145 const base::FilePath& pref_filename,
152 const scoped_refptr<base::SequencedTaskRunner>& sequenced_task_runner, 146 const scoped_refptr<base::SequencedTaskRunner>& sequenced_task_runner,
153 std::unique_ptr<PrefFilter> pref_filter) 147 std::unique_ptr<PrefFilter> pref_filter)
154 : JsonPrefStore(pref_filename,
155 base::FilePath(),
156 sequenced_task_runner,
157 std::move(pref_filter)) {}
158
159 JsonPrefStore::JsonPrefStore(
160 const base::FilePath& pref_filename,
161 const base::FilePath& pref_alternate_filename,
162 const scoped_refptr<base::SequencedTaskRunner>& sequenced_task_runner,
163 std::unique_ptr<PrefFilter> pref_filter)
164 : path_(pref_filename), 148 : path_(pref_filename),
165 alternate_path_(pref_alternate_filename),
166 sequenced_task_runner_(sequenced_task_runner), 149 sequenced_task_runner_(sequenced_task_runner),
167 prefs_(new base::DictionaryValue()), 150 prefs_(new base::DictionaryValue()),
168 read_only_(false), 151 read_only_(false),
169 writer_(pref_filename, sequenced_task_runner), 152 writer_(pref_filename, sequenced_task_runner),
170 pref_filter_(std::move(pref_filter)), 153 pref_filter_(std::move(pref_filter)),
171 initialized_(false), 154 initialized_(false),
172 filtering_in_progress_(false), 155 filtering_in_progress_(false),
173 pending_lossy_write_(false), 156 pending_lossy_write_(false),
174 read_error_(PREF_READ_ERROR_NONE), 157 read_error_(PREF_READ_ERROR_NONE),
175 has_pending_write_reply_(false), 158 has_pending_write_reply_(false),
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 259
277 PersistentPrefStore::PrefReadError JsonPrefStore::GetReadError() const { 260 PersistentPrefStore::PrefReadError JsonPrefStore::GetReadError() const {
278 DCHECK(CalledOnValidThread()); 261 DCHECK(CalledOnValidThread());
279 262
280 return read_error_; 263 return read_error_;
281 } 264 }
282 265
283 PersistentPrefStore::PrefReadError JsonPrefStore::ReadPrefs() { 266 PersistentPrefStore::PrefReadError JsonPrefStore::ReadPrefs() {
284 DCHECK(CalledOnValidThread()); 267 DCHECK(CalledOnValidThread());
285 268
286 OnFileRead(ReadPrefsFromDisk(path_, alternate_path_)); 269 OnFileRead(ReadPrefsFromDisk(path_));
287 return filtering_in_progress_ ? PREF_READ_ERROR_ASYNCHRONOUS_TASK_INCOMPLETE 270 return filtering_in_progress_ ? PREF_READ_ERROR_ASYNCHRONOUS_TASK_INCOMPLETE
288 : read_error_; 271 : read_error_;
289 } 272 }
290 273
291 void JsonPrefStore::ReadPrefsAsync(ReadErrorDelegate* error_delegate) { 274 void JsonPrefStore::ReadPrefsAsync(ReadErrorDelegate* error_delegate) {
292 DCHECK(CalledOnValidThread()); 275 DCHECK(CalledOnValidThread());
293 276
294 initialized_ = false; 277 initialized_ = false;
295 error_delegate_.reset(error_delegate); 278 error_delegate_.reset(error_delegate);
296 279
297 // Weakly binds the read task so that it doesn't kick in during shutdown. 280 // Weakly binds the read task so that it doesn't kick in during shutdown.
298 base::PostTaskAndReplyWithResult( 281 base::PostTaskAndReplyWithResult(
299 sequenced_task_runner_.get(), 282 sequenced_task_runner_.get(), FROM_HERE,
300 FROM_HERE, 283 base::Bind(&ReadPrefsFromDisk, path_),
301 base::Bind(&ReadPrefsFromDisk, path_, alternate_path_),
302 base::Bind(&JsonPrefStore::OnFileRead, AsWeakPtr())); 284 base::Bind(&JsonPrefStore::OnFileRead, AsWeakPtr()));
303 } 285 }
304 286
305 void JsonPrefStore::CommitPendingWrite() { 287 void JsonPrefStore::CommitPendingWrite() {
306 DCHECK(CalledOnValidThread()); 288 DCHECK(CalledOnValidThread());
307 289
308 // Schedule a write for any lossy writes that are outstanding to ensure that 290 // Schedule a write for any lossy writes that are outstanding to ensure that
309 // they get flushed when this function is called. 291 // they get flushed when this function is called.
310 SchedulePendingLossyWrites(); 292 SchedulePendingLossyWrites();
311 293
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 DCHECK_EQ(31, num_buckets); 585 DCHECK_EQ(31, num_buckets);
604 586
605 // The histogram below is an expansion of the UMA_HISTOGRAM_CUSTOM_COUNTS 587 // The histogram below is an expansion of the UMA_HISTOGRAM_CUSTOM_COUNTS
606 // macro adapted to allow for a dynamically suffixed histogram name. 588 // macro adapted to allow for a dynamically suffixed histogram name.
607 // Note: The factory creates and owns the histogram. 589 // Note: The factory creates and owns the histogram.
608 base::HistogramBase* histogram = base::Histogram::FactoryGet( 590 base::HistogramBase* histogram = base::Histogram::FactoryGet(
609 histogram_name, min_value, max_value, num_buckets, 591 histogram_name, min_value, max_value, num_buckets,
610 base::HistogramBase::kUmaTargetedHistogramFlag); 592 base::HistogramBase::kUmaTargetedHistogramFlag);
611 return histogram; 593 return histogram;
612 } 594 }
OLDNEW
« no previous file with comments | « components/prefs/json_pref_store.h ('k') | components/prefs/json_pref_store_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698