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

Unified Diff: chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.h

Issue 2470843004: arc: Implement ArcContentFileSystemFileStreamReader::Read/GetLength (Closed)
Patch Set: Remove braces Created 4 years, 1 month 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
Index: chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.h
diff --git a/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.h b/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.h
index 2d946744423eabf08ef1fe9e9c15a39029891ac4..2d49c1ece351fab7ed7261d9a7532502ac7da53b 100644
--- a/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.h
+++ b/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.h
@@ -5,15 +5,25 @@
#ifndef CHROME_BROWSER_CHROMEOS_ARC_FILEAPI_ARC_CONTENT_FILE_SYSTEM_FILE_STREAM_READER_H_
#define CHROME_BROWSER_CHROMEOS_ARC_FILEAPI_ARC_CONTENT_FILE_SYSTEM_FILE_STREAM_READER_H_
+#include <memory>
+
+#include "base/memory/weak_ptr.h"
+#include "mojo/public/cpp/system/handle.h"
+#include "net/base/completion_callback.h"
#include "storage/browser/fileapi/file_stream_reader.h"
+#include "url/gurl.h"
+
+namespace net {
+class FileStream;
+class IOBuffer;
+}
namespace arc {
+// FileStreamReader implementation for ARC content file system.
class ArcContentFileSystemFileStreamReader : public storage::FileStreamReader {
public:
- ArcContentFileSystemFileStreamReader(const storage::FileSystemURL& url,
- int64_t offset,
- int64_t max_bytes_to_read);
+ ArcContentFileSystemFileStreamReader(const GURL& arc_url, int64_t offset);
~ArcContentFileSystemFileStreamReader() override;
// storage::FileStreamReader override:
@@ -23,6 +33,18 @@ class ArcContentFileSystemFileStreamReader : public storage::FileStreamReader {
int64_t GetLength(const net::Int64CompletionCallback& callback) override;
private:
+ void OnOpenFile(scoped_refptr<net::IOBuffer> buf,
+ int buffer_length,
+ const net::CompletionCallback& callback,
+ mojo::ScopedHandle handle);
+
+ GURL arc_url_;
+ int64_t offset_;
+
+ std::unique_ptr<net::FileStream> file_stream_;
+
+ base::WeakPtrFactory<ArcContentFileSystemFileStreamReader> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(ArcContentFileSystemFileStreamReader);
};

Powered by Google App Engine
This is Rietveld 408576698