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

Unified Diff: components/bookmarks/browser/bookmark_storage.cc

Issue 1127963002: Implement lossy pref behavior for JsonPrefStore. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@prefs-fix-flags
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: components/bookmarks/browser/bookmark_storage.cc
diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc
index 2612f9c324d680b7f00ea6c00bea46d670e8fb2c..a1611d58df7d2aa6613237c0d3989eae52cc6149 100644
--- a/components/bookmarks/browser/bookmark_storage.cc
+++ b/components/bookmarks/browser/bookmark_storage.cc
@@ -146,38 +146,38 @@ BookmarkStorage::BookmarkStorage(
const base::FilePath& profile_path,
base::SequencedTaskRunner* sequenced_task_runner)
: model_(model),
- writer_(profile_path.Append(kBookmarksFileName), sequenced_task_runner),
+ writer_(new base::ImportantFileWriterImpl(
+ profile_path.Append(kBookmarksFileName),
+ sequenced_task_runner)),
weak_factory_(this) {
sequenced_task_runner_ = sequenced_task_runner;
- writer_.set_commit_interval(base::TimeDelta::FromMilliseconds(kSaveDelayMS));
- sequenced_task_runner_->PostTask(FROM_HERE,
- base::Bind(&BackupCallback, writer_.path()));
+ writer_->set_commit_interval(base::TimeDelta::FromMilliseconds(kSaveDelayMS));
+ sequenced_task_runner_->PostTask(
+ FROM_HERE, base::Bind(&BackupCallback, writer_->path()));
}
BookmarkStorage::~BookmarkStorage() {
- if (writer_.HasPendingWrite())
- writer_.DoScheduledWrite();
+ if (writer_->HasPendingWrite())
+ writer_->DoScheduledWrite();
}
void BookmarkStorage::LoadBookmarks(
scoped_ptr<BookmarkLoadDetails> details,
const scoped_refptr<base::SequencedTaskRunner>& task_runner) {
- sequenced_task_runner_->PostTask(FROM_HERE,
- base::Bind(&LoadCallback,
- writer_.path(),
- weak_factory_.GetWeakPtr(),
- base::Passed(&details),
- task_runner));
+ sequenced_task_runner_->PostTask(
+ FROM_HERE,
+ base::Bind(&LoadCallback, writer_->path(), weak_factory_.GetWeakPtr(),
+ base::Passed(&details), task_runner));
}
void BookmarkStorage::ScheduleSave() {
- writer_.ScheduleWrite(this);
+ writer_->ScheduleWrite(this);
}
void BookmarkStorage::BookmarkModelDeleted() {
// We need to save now as otherwise by the time SaveNow is invoked
// the model is gone.
- if (writer_.HasPendingWrite())
+ if (writer_->HasPendingWrite())
SaveNow();
model_ = NULL;
}
@@ -208,7 +208,7 @@ bool BookmarkStorage::SaveNow() {
scoped_ptr<std::string> data(new std::string);
if (!SerializeData(data.get()))
return false;
- writer_.WriteNow(data.Pass());
+ writer_->WriteNow(data.Pass());
return true;
}

Powered by Google App Engine
This is Rietveld 408576698