summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormtomasz <mtomasz@chromium.org>2015-01-08 21:05:11 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-09 05:05:55 +0000
commit8b8e1fac50acf7f2245b96b1f30353fb41ac8de8 (patch)
tree779f9309193e13b808ca8d039906c65057c52cd6
parent0d3e4fbd7d604683d977a9a6dc0a8f4f31f53047 (diff)
downloadchromium_src-8b8e1fac50acf7f2245b96b1f30353fb41ac8de8.zip
chromium_src-8b8e1fac50acf7f2245b96b1f30353fb41ac8de8.tar.gz
chromium_src-8b8e1fac50acf7f2245b96b1f30353fb41ac8de8.tar.bz2
[fsp] Do not close files which failed to open for reading and writing.
This CL fixes the logic for detecting if a file was correctly opened in the fsp::FileStreamReader and fsp::FileStreamWriter classes. TEST=browser_test: *FileSystemProvider*, unit_test: *FileSystemProvider*FileStream* BUG=447448 Review URL: https://codereview.chromium.org/814113007 Cr-Commit-Position: refs/heads/master@{#310713}
-rw-r--r--chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc4
-rw-r--r--chrome/browser/chromeos/file_system_provider/fileapi/file_stream_writer.cc4
2 files changed, 6 insertions, 2 deletions
diff --git a/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc b/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc
index b8f1332..1113165 100644
--- a/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc
+++ b/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc
@@ -161,7 +161,9 @@ class FileStreamReader::OperationRunner
base::File::Error result) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- file_handle_ = file_handle;
+ if (result == base::File::FILE_OK)
+ file_handle_ = file_handle;
+
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE, base::Bind(callback, result));
}
diff --git a/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_writer.cc b/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_writer.cc
index 3290129..c8cd097 100644
--- a/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_writer.cc
+++ b/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_writer.cc
@@ -126,7 +126,9 @@ class FileStreamWriter::OperationRunner
base::File::Error result) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- file_handle_ = file_handle;
+ if (result == base::File::FILE_OK)
+ file_handle_ = file_handle;
+
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE, base::Bind(callback, result));
}