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

Unified Diff: chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc

Issue 301973007: [fsp] Fix crash when reading files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/file_system_provider/operations/read_file.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc
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 c7a5aec20861d765f9c8827f83d2435e5719c61c..f45eb068a001c70522c118c6809a227bbb36b26d 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
@@ -5,10 +5,12 @@
#include "chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.h"
#include "base/files/file.h"
+#include "base/memory/ref_counted.h"
#include "chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.h"
#include "chrome/browser/chromeos/file_system_provider/mount_path_util.h"
#include "chrome/browser/chromeos/file_system_provider/provided_file_system_interface.h"
#include "content/public/browser/browser_thread.h"
+#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"
using content::BrowserThread;
@@ -94,7 +96,8 @@ void ReadFileOnUIThread(
return;
}
- file_system->ReadFile(file_handle, buffer, offset, length, callback);
+ file_system->ReadFile(
+ file_handle, make_scoped_refptr(buffer), offset, length, callback);
}
// Forward the completion callback to IO thread.
@@ -206,7 +209,7 @@ int FileStreamReader::Read(net::IOBuffer* buffer,
if (!file_handle_) {
Initialize(base::Bind(&FileStreamReader::ReadAfterInitialized,
weak_ptr_factory_.GetWeakPtr(),
- buffer,
+ make_scoped_refptr(buffer),
buffer_length,
callback),
base::Bind(&Int64ToIntCompletionCallback, callback));
@@ -251,7 +254,7 @@ void FileStreamReader::ReadAfterInitialized(
base::Bind(&ReadFileOnUIThread,
file_system_,
file_handle_,
- buffer,
+ make_scoped_refptr(buffer),
current_offset_,
buffer_length,
base::Bind(&OnReadChunkReceivedOnUIThread,
« no previous file with comments | « no previous file | chrome/browser/chromeos/file_system_provider/operations/read_file.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698