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

Side by Side Diff: webkit/browser/blob/local_file_stream_reader.h

Issue 539143002: Migrate webkit/browser/ to storage/browser/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix android build Created 6 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef WEBKIT_BROWSER_BLOB_LOCAL_FILE_STREAM_READER_H_ 5 #include "storage/browser/blob/local_file_stream_reader.h"
6 #define WEBKIT_BROWSER_BLOB_LOCAL_FILE_STREAM_READER_H_
7
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "base/files/file.h"
11 #include "base/files/file_path.h"
12 #include "base/memory/weak_ptr.h"
13 #include "base/time/time.h"
14 #include "webkit/browser/blob/file_stream_reader.h"
15 #include "webkit/browser/storage_browser_export.h"
16
17 namespace base {
18 class TaskRunner;
19 }
20
21 namespace content {
22 class LocalFileStreamReaderTest;
23 }
24
25 namespace net {
26 class FileStream;
27 }
28
29 namespace storage {
30
31 // A thin wrapper of net::FileStream with range support for sliced file
32 // handling.
33 class STORAGE_EXPORT LocalFileStreamReader
34 : public NON_EXPORTED_BASE(FileStreamReader) {
35 public:
36 virtual ~LocalFileStreamReader();
37
38 // FileStreamReader overrides.
39 virtual int Read(net::IOBuffer* buf, int buf_len,
40 const net::CompletionCallback& callback) OVERRIDE;
41 virtual int64 GetLength(
42 const net::Int64CompletionCallback& callback) OVERRIDE;
43
44 private:
45 friend class FileStreamReader;
46 friend class content::LocalFileStreamReaderTest;
47
48 LocalFileStreamReader(base::TaskRunner* task_runner,
49 const base::FilePath& file_path,
50 int64 initial_offset,
51 const base::Time& expected_modification_time);
52 int Open(const net::CompletionCallback& callback);
53
54 // Callbacks that are chained from Open for Read.
55 void DidVerifyForOpen(const net::CompletionCallback& callback,
56 int64 get_length_result);
57 void DidOpenFileStream(const net::CompletionCallback& callback,
58 int result);
59 void DidSeekFileStream(const net::CompletionCallback& callback,
60 int64 seek_result);
61 void DidOpenForRead(net::IOBuffer* buf,
62 int buf_len,
63 const net::CompletionCallback& callback,
64 int open_result);
65
66 void DidGetFileInfoForGetLength(const net::Int64CompletionCallback& callback,
67 base::File::Error error,
68 const base::File::Info& file_info);
69
70 scoped_refptr<base::TaskRunner> task_runner_;
71 scoped_ptr<net::FileStream> stream_impl_;
72 const base::FilePath file_path_;
73 const int64 initial_offset_;
74 const base::Time expected_modification_time_;
75 bool has_pending_open_;
76 base::WeakPtrFactory<LocalFileStreamReader> weak_factory_;
77 };
78
79 } // namespace storage
80
81 #endif // WEBKIT_BROWSER_BLOB_LOCAL_FILE_STREAM_READER_H_
OLDNEW
« no previous file with comments | « webkit/browser/blob/file_stream_reader.cc ('k') | webkit/browser/blob/local_file_stream_reader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698