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

Unified Diff: storage/browser/blob/blob_reader.h

Issue 1234813004: [BlobAsync] Asynchronous Blob Construction Final Patch (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@blob-protocol-change
Patch Set: comments and rebase Created 4 years, 9 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 | « storage/browser/blob/blob_data_snapshot.cc ('k') | storage/browser/blob/blob_reader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: storage/browser/blob/blob_reader.h
diff --git a/storage/browser/blob/blob_reader.h b/storage/browser/blob/blob_reader.h
index 4c7ce8e2c1975076510e8ec4065ba7e7a02dac7e..4ddd738ed17c1720f7a8becfa2ae530900bcbf0e 100644
--- a/storage/browser/blob/blob_reader.h
+++ b/storage/browser/blob/blob_reader.h
@@ -10,6 +10,7 @@
#include <map>
#include <vector>
+#include "base/gtest_prod_util.h"
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
@@ -116,6 +117,8 @@ class STORAGE_EXPORT BlobReader {
protected:
friend class BlobDataHandle;
friend class BlobReaderTest;
+ FRIEND_TEST_ALL_PREFIXES(BlobReaderTest, HandleBeforeAsyncCancel);
+ FRIEND_TEST_ALL_PREFIXES(BlobReaderTest, ReadFromIncompleteBlob);
BlobReader(const BlobDataHandle* blob_handle,
scoped_ptr<FileStreamReaderProvider> file_stream_provider,
@@ -127,6 +130,9 @@ class STORAGE_EXPORT BlobReader {
Status ReportError(int net_error);
void InvalidateCallbacksAndDone(int net_error, net::CompletionCallback done);
+ void AsyncCalculateSize(const net::CompletionCallback& done,
+ bool async_succeeded);
+ Status CalculateSizeImpl(const net::CompletionCallback& done);
bool AddItemLength(size_t index, uint64_t length);
bool ResolveFileItemLength(const BlobDataItem& item,
int64_t total_length,
@@ -163,6 +169,7 @@ class STORAGE_EXPORT BlobReader {
const BlobDataItem& item,
uint64_t additional_offset);
+ scoped_ptr<BlobDataHandle> blob_handle_;
scoped_ptr<BlobDataSnapshot> blob_data_;
scoped_ptr<FileStreamReaderProvider> file_stream_provider_;
scoped_refptr<base::SequencedTaskRunner> file_task_runner_;
« no previous file with comments | « storage/browser/blob/blob_data_snapshot.cc ('k') | storage/browser/blob/blob_reader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698