| Index: storage/browser/blob/blob_data_item.h
|
| diff --git a/storage/browser/blob/blob_data_item.h b/storage/browser/blob/blob_data_item.h
|
| index a711a4caf3b3fe4bc969be9e63c87bb33aa79834..0316d871eac32c7ac159d1d56d91b181cad81e81 100644
|
| --- a/storage/browser/blob/blob_data_item.h
|
| +++ b/storage/browser/blob/blob_data_item.h
|
| @@ -28,7 +28,8 @@ class BlobStorageContext;
|
| // this class is to allow the resource to stick around in the snapshot even
|
| // after the resource was swapped in the blob (either to disk or to memory) by
|
| // the BlobStorageContext.
|
| -class STORAGE_EXPORT BlobDataItem : public base::RefCounted<BlobDataItem> {
|
| +class STORAGE_EXPORT BlobDataItem
|
| + : public base::RefCountedThreadSafe<BlobDataItem> {
|
| public:
|
| // The DataHandle class is used to persist resources that are needed for
|
| // reading this BlobDataItem. This object will stay around while any reads are
|
| @@ -43,6 +44,15 @@ class STORAGE_EXPORT BlobDataItem : public base::RefCounted<BlobDataItem> {
|
| friend class base::RefCounted<DataHandle>;
|
| };
|
|
|
| + explicit BlobDataItem(std::unique_ptr<DataElement> item);
|
| + BlobDataItem(std::unique_ptr<DataElement> item,
|
| + const scoped_refptr<DataHandle>& data_handle);
|
| + BlobDataItem(std::unique_ptr<DataElement> item,
|
| + const scoped_refptr<DataHandle>& data_handle,
|
| + disk_cache::Entry* entry,
|
| + int disk_cache_stream_index,
|
| + int disk_cache_side_stream_index);
|
| +
|
| DataElement::Type type() const { return item_->type(); }
|
| const char* bytes() const { return item_->bytes(); }
|
| const base::FilePath& path() const { return item_->path(); }
|
| @@ -63,20 +73,14 @@ class STORAGE_EXPORT BlobDataItem : public base::RefCounted<BlobDataItem> {
|
| return disk_cache_side_stream_index_;
|
| }
|
|
|
| + const scoped_refptr<DataHandle>& data_handle() const { return data_handle_; }
|
| +
|
| private:
|
| friend class BlobDataBuilder;
|
| friend class BlobStorageContext;
|
| - friend class base::RefCounted<BlobDataItem>;
|
| + friend class base::RefCountedThreadSafe<BlobDataItem>;
|
| friend STORAGE_EXPORT void PrintTo(const BlobDataItem& x, ::std::ostream* os);
|
|
|
| - explicit BlobDataItem(std::unique_ptr<DataElement> item);
|
| - BlobDataItem(std::unique_ptr<DataElement> item,
|
| - const scoped_refptr<DataHandle>& data_handle);
|
| - BlobDataItem(std::unique_ptr<DataElement> item,
|
| - const scoped_refptr<DataHandle>& data_handle,
|
| - disk_cache::Entry* entry,
|
| - int disk_cache_stream_index,
|
| - int disk_cache_side_stream_index);
|
| virtual ~BlobDataItem();
|
|
|
| std::unique_ptr<DataElement> item_;
|
|
|