| Index: components/prefs/json_pref_store.cc
|
| diff --git a/components/prefs/json_pref_store.cc b/components/prefs/json_pref_store.cc
|
| index 779c2009730366aba4d8fae689d340b2fb81ad71..db8d659be08b71b6d1888ea23d9d63330a2976db 100644
|
| --- a/components/prefs/json_pref_store.cc
|
| +++ b/components/prefs/json_pref_store.cc
|
| @@ -323,11 +323,18 @@ void JsonPrefStore::ReportValueChanged(const std::string& key, uint32_t flags) {
|
| ScheduleWrite(flags);
|
| }
|
|
|
| -void JsonPrefStore::RegisterOnNextSuccessfulWriteCallback(
|
| - const base::Closure& on_next_successful_write) {
|
| +void JsonPrefStore::RegisterOnNextSuccessfulWriteReply(
|
| + const base::Closure& on_next_successful_write_reply) {
|
| DCHECK(CalledOnValidThread());
|
|
|
| - writer_.RegisterOnNextSuccessfulWriteCallback(on_next_successful_write);
|
| + writer_.RegisterOnNextSuccessfulWriteReply(on_next_successful_write_reply);
|
| +}
|
| +
|
| +void JsonPrefStore::RegisterOnNextWriteSynchronousCallback(
|
| + const base::Callback<void(bool success)>& on_next_write_callback) {
|
| + DCHECK(CalledOnValidThread());
|
| +
|
| + writer_.RegisterOnNextWriteSynchronousCallback(on_next_write_callback);
|
| }
|
|
|
| void JsonPrefStore::ClearMutableValues() {
|
| @@ -401,8 +408,10 @@ bool JsonPrefStore::SerializeData(std::string* output) {
|
|
|
| write_count_histogram_.RecordWriteOccured();
|
|
|
| - if (pref_filter_)
|
| - pref_filter_->FilterSerializeData(prefs_.get());
|
| + if (pref_filter_) {
|
| + RegisterOnNextWriteSynchronousCallback(
|
| + pref_filter_->FilterSerializeData(prefs_.get()));
|
| + }
|
|
|
| JSONStringValueSerializer serializer(output);
|
| // Not pretty-printing prefs shrinks pref file size by ~30%. To obtain
|
|
|