| Index: components/filesystem/public/cpp/prefs/filesystem_json_pref_store.cc
|
| diff --git a/components/filesystem/public/cpp/prefs/filesystem_json_pref_store.cc b/components/filesystem/public/cpp/prefs/filesystem_json_pref_store.cc
|
| index 9a11f5f870dcbcc68c808318c305f46a316b9496..bedf5e3ee6091b848680ebc25d927639275a3a7f 100644
|
| --- a/components/filesystem/public/cpp/prefs/filesystem_json_pref_store.cc
|
| +++ b/components/filesystem/public/cpp/prefs/filesystem_json_pref_store.cc
|
| @@ -348,17 +348,6 @@ void FilesystemJsonPrefStore::OnOpenFilesystem(base::Closure callback,
|
| }
|
|
|
| void FilesystemJsonPrefStore::OnTempFileWriteStart() {
|
| - // Open up a temporary file and truncate it.
|
| - directory_->OpenFile(
|
| - "tmp", GetProxy(&temporary_file_), kFlagWrite | kFlagCreate,
|
| - Bind(&FilesystemJsonPrefStore::OnTempFileOpened, AsWeakPtr()));
|
| -}
|
| -
|
| -void FilesystemJsonPrefStore::OnTempFileOpened(FileError err) {
|
| - // TODO(erg): Error handling. The JsonPrefStore code assumes that writing the
|
| - // file can never fail.
|
| - CHECK_EQ(FileError::OK, err);
|
| -
|
| // Calculate what we want to write, and then write to the temporary file.
|
| pending_lossy_write_ = false;
|
|
|
| @@ -370,50 +359,29 @@ void FilesystemJsonPrefStore::OnTempFileOpened(FileError err) {
|
| serializer.set_pretty_print(false);
|
| serializer.Serialize(*prefs_);
|
|
|
| - temporary_file_->Write(
|
| - mojo::Array<uint8_t>::From(output), 0, Whence::FROM_CURRENT,
|
| + directory_->WriteFile(
|
| + "tmp",
|
| + mojo::Array<uint8_t>::From(output),
|
| Bind(&FilesystemJsonPrefStore::OnTempFileWrite, AsWeakPtr()));
|
| }
|
|
|
| -void FilesystemJsonPrefStore::OnTempFileWrite(FileError err,
|
| - uint32_t num_bytes_written) {
|
| - // TODO(erg): Error handling. The JsonPrefStore code assumes that writing the
|
| - // file can never fail.
|
| - CHECK_EQ(FileError::OK, err);
|
| -
|
| - // Now that we've written the file, close it.
|
| - temporary_file_->Close(
|
| - Bind(&FilesystemJsonPrefStore::OnTempFileClosed, AsWeakPtr()));
|
| -}
|
| -
|
| -void FilesystemJsonPrefStore::OnTempFileClosed(FileError err) {
|
| +void FilesystemJsonPrefStore::OnTempFileWrite(FileError err) {
|
| // TODO(erg): Error handling. The JsonPrefStore code assumes that writing the
|
| // file can never fail.
|
| CHECK_EQ(FileError::OK, err);
|
|
|
| - temporary_file_.reset();
|
| directory_->Rename(
|
| "tmp", path_,
|
| Bind(&FilesystemJsonPrefStore::OnTempFileRenamed, AsWeakPtr()));
|
| }
|
|
|
| -void FilesystemJsonPrefStore::OnTempFileRenamed(FileError err) {}
|
| -
|
| -void FilesystemJsonPrefStore::OnPreferencesReadStart() {
|
| - // TODO(erg): implement me.
|
| - directory_->OpenFile(
|
| - path_, GetProxy(&preferences_file_), kFlagRead | kFlagOpen,
|
| - Bind(&FilesystemJsonPrefStore::OnPreferencesFileOpened, AsWeakPtr()));
|
| +void FilesystemJsonPrefStore::OnTempFileRenamed(FileError err) {
|
| }
|
|
|
| -void FilesystemJsonPrefStore::OnPreferencesFileOpened(FileError err) {
|
| - // TODO(erg): Error handling.
|
| - if (err == FileError::OK) {
|
| - preferences_file_->ReadEntireFile(
|
| - Bind(&FilesystemJsonPrefStore::OnPreferencesFileRead, AsWeakPtr()));
|
| - } else {
|
| - OnPreferencesFileRead(err, mojo::Array<uint8_t>());
|
| - }
|
| +void FilesystemJsonPrefStore::OnPreferencesReadStart() {
|
| + directory_->ReadEntireFile(
|
| + path_,
|
| + Bind(&FilesystemJsonPrefStore::OnPreferencesFileRead, AsWeakPtr()));
|
| }
|
|
|
| void FilesystemJsonPrefStore::OnPreferencesFileRead(
|
| @@ -424,7 +392,8 @@ void FilesystemJsonPrefStore::OnPreferencesFileRead(
|
| // TODO(erg): Needs even better error handling.
|
| switch (err) {
|
| case FileError::IN_USE:
|
| - case FileError::ACCESS_DENIED: {
|
| + case FileError::ACCESS_DENIED:
|
| + case FileError::NOT_A_FILE: {
|
| read_only_ = true;
|
| break;
|
| }
|
| @@ -445,8 +414,6 @@ void FilesystemJsonPrefStore::OnPreferencesFileRead(
|
| }
|
| }
|
|
|
| - preferences_file_.reset();
|
| -
|
| OnFileRead(std::move(read_result));
|
| }
|
|
|
|
|