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

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

Issue 2055053003: [BlobAsync] Disk support for blob storage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added back transport controller test, small cleanups Created 4 years, 6 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
Index: storage/browser/blob/blob_data_handle.h
diff --git a/storage/browser/blob/blob_data_handle.h b/storage/browser/blob/blob_data_handle.h
index 3f4529346b103cc0149d0a507494011e867153dc..a174a1b355b6d9543563598d2fb70ce32ca75246 100644
--- a/storage/browser/blob/blob_data_handle.h
+++ b/storage/browser/blob/blob_data_handle.h
@@ -5,6 +5,7 @@
#ifndef STORAGE_BROWSER_BLOB_BLOB_DATA_HANDLE_H_
#define STORAGE_BROWSER_BLOB_BLOB_DATA_HANDLE_H_
+#include <limits>
#include <memory>
#include <string>
@@ -39,6 +40,8 @@ class FileSystemContext;
class STORAGE_EXPORT BlobDataHandle
: public base::SupportsUserData::Data {
public:
+ static constexpr uint64_t kUnknownSize = std::numeric_limits<uint64_t>::max();
+
// True means the blob was constructed successfully, and false means that
// there was an error, which is reported in the second argument.
using BlobConstructedCallback =
@@ -77,6 +80,9 @@ class STORAGE_EXPORT BlobDataHandle
const std::string& content_type() const;
// May be accessed on any thread.
const std::string& content_disposition() const;
+ // May be accessed on any thread. In rare cases where the blob is created
+ // as a file from javascript, this will be kUnknownSize.
+ uint64_t size() const;
// This call and the destruction of the returned snapshot must be called
// on the IO thread. If the blob is broken, then we return a nullptr here.
@@ -94,6 +100,7 @@ class STORAGE_EXPORT BlobDataHandle
BlobDataHandleShared(const std::string& uuid,
const std::string& content_type,
const std::string& content_disposition,
+ uint64_t size,
BlobStorageContext* context);
private:
@@ -106,6 +113,7 @@ class STORAGE_EXPORT BlobDataHandle
const std::string uuid_;
const std::string content_type_;
const std::string content_disposition_;
+ const uint64_t size_;
base::WeakPtr<BlobStorageContext> context_;
DISALLOW_COPY_AND_ASSIGN(BlobDataHandleShared);
@@ -115,6 +123,7 @@ class STORAGE_EXPORT BlobDataHandle
BlobDataHandle(const std::string& uuid,
const std::string& content_type,
const std::string& content_disposition,
+ uint64_t size,
BlobStorageContext* context,
base::SequencedTaskRunner* io_task_runner);

Powered by Google App Engine
This is Rietveld 408576698