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 d80a34ffd77247491b3d22978952aebdd844a429..26d9dbd1704ef53d9176650c08eb34fe00fe1de0 100644 |
--- a/components/filesystem/public/cpp/prefs/filesystem_json_pref_store.cc |
+++ b/components/filesystem/public/cpp/prefs/filesystem_json_pref_store.cc |
@@ -345,17 +345,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; |
@@ -367,50 +356,30 @@ 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) { |
+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); |
- // Now that we've written the file, close it. |
- temporary_file_->Close( |
- Bind(&FilesystemJsonPrefStore::OnTempFileClosed, AsWeakPtr())); |
-} |
- |
-void FilesystemJsonPrefStore::OnTempFileClosed(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) { |
+ CHECK_EQ(FileError::OK, err); |
sky
2016/01/27 01:08:40
Seems like we shouldn't crash here, but have some
Elliot Glaysher
2016/01/27 01:13:42
There's no real error checking here because there'
sky
2016/01/27 02:48:13
Error checking is different than crashing if there
|
} |
-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( |
@@ -420,12 +389,13 @@ void FilesystemJsonPrefStore::OnPreferencesFileRead( |
new FilesystemJsonPrefStore::ReadResult); |
// TODO(erg): Needs even better error handling. |
switch (err) { |
+ case FileError::FAILED: |
case FileError::IN_USE: |
- case FileError::ACCESS_DENIED: { |
+ case FileError::ACCESS_DENIED: |
+ case FileError::NOT_A_FILE: { |
read_only_ = true; |
break; |
} |
- case FileError::FAILED: |
case FileError::NOT_FOUND: { |
// If the file just doesn't exist, maybe this is the first run. Just |
// don't pass a value. |
@@ -442,8 +412,6 @@ void FilesystemJsonPrefStore::OnPreferencesFileRead( |
} |
} |
- preferences_file_.reset(); |
- |
OnFileRead(std::move(read_result)); |
} |