| Index: storage/browser/blob/shareable_blob_data_item.h
|
| diff --git a/storage/browser/blob/shareable_blob_data_item.h b/storage/browser/blob/shareable_blob_data_item.h
|
| index 4c2f9c1833262d18dfa82b622abdfef8585b9541..25394d41a19880f6d5f29827b846bc7a20a1635e 100644
|
| --- a/storage/browser/blob/shareable_blob_data_item.h
|
| +++ b/storage/browser/blob/shareable_blob_data_item.h
|
| @@ -23,22 +23,28 @@ class InternalBlobData;
|
| // The data in this class (the item) is immutable, but the item itself can be
|
| // swapped out with an item with the same data but a different backing (think
|
| // RAM vs file backed).
|
| -class ShareableBlobDataItem : public base::RefCounted<ShareableBlobDataItem> {
|
| +class ShareableBlobDataItem
|
| + : public base::RefCountedThreadSafe<ShareableBlobDataItem> {
|
| public:
|
| - ShareableBlobDataItem(const std::string& blob_uuid,
|
| - const scoped_refptr<BlobDataItem>& item);
|
| + ShareableBlobDataItem(uint64_t item_id, scoped_refptr<BlobDataItem> item);
|
|
|
| const scoped_refptr<BlobDataItem>& item();
|
|
|
| + uint64_t item_id() { return item_id_; }
|
| +
|
| base::hash_set<std::string>& referencing_blobs() {
|
| return referencing_blobs_;
|
| }
|
|
|
| private:
|
| - friend class base::RefCounted<ShareableBlobDataItem>;
|
| + friend class base::RefCountedThreadSafe<ShareableBlobDataItem>;
|
| friend class InternalBlobData;
|
| + friend class BlobMemoryController;
|
| + friend class BlobStorageContext;
|
| ~ShareableBlobDataItem();
|
|
|
| + // This is a unique identifier for this ShareableBlobDataItem.
|
| + uint64_t item_id_;
|
| scoped_refptr<BlobDataItem> item_;
|
|
|
| base::hash_set<std::string> referencing_blobs_;
|
|
|