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 0b1d151c612e078ae6a91c3c052657a4f7d08e6a..47e42984f8df79d4504d1d2449b49a7119589be6 100644 |
--- a/storage/browser/blob/blob_data_handle.h |
+++ b/storage/browser/blob/blob_data_handle.h |
@@ -18,52 +18,56 @@ class SequencedTaskRunner; |
namespace storage { |
-class BlobData; |
+class BlobDataSnapshot; |
class BlobStorageContext; |
// A scoper object for use in chrome's main browser process, ensures |
// the underlying BlobData and its uuid remain in BlobStorageContext's |
// collection for the duration. This object has delete semantics and |
-// maybe deleted on any thread. |
-class STORAGE_EXPORT BlobDataHandle |
+// may be deleted on any thread. |
+class STORAGE_EXPORT BlobDataSnapshotHandle |
: public base::SupportsUserData::Data { |
public: |
- BlobDataHandle(const BlobDataHandle& other); // May be copied on any thread. |
- ~BlobDataHandle() override; // Maybe be deleted on any thread. |
- BlobData* data() const; // May only be accessed on the IO thread. |
+ BlobDataSnapshotHandle( |
+ const BlobDataSnapshotHandle& other); // May be copied on any thread. |
+ ~BlobDataSnapshotHandle() override; // May be deleted on any thread. |
+ const BlobDataSnapshot* data() const; // May be accessed on any thread. |
- std::string uuid() const; // May be accessed on any thread. |
+ const std::string& uuid() const; // May be accessed on any thread. |
private: |
- class BlobDataHandleShared |
- : public base::RefCountedThreadSafe<BlobDataHandleShared> { |
+ // Internal class whose destructor is guarenteed to be called on the IO |
+ // thread. |
+ class BlobDataSnapshotHandleShared |
+ : public base::RefCountedThreadSafe<BlobDataSnapshotHandleShared> { |
public: |
- BlobDataHandleShared(BlobData* blob_data, |
- BlobStorageContext* context, |
- base::SequencedTaskRunner* task_runner); |
+ BlobDataSnapshotHandleShared(BlobDataSnapshot* blob_data, |
+ BlobStorageContext* context, |
+ base::SequencedTaskRunner* task_runner); |
- BlobData* data() const; |
+ BlobDataSnapshot* data() const; |
const std::string& uuid() const; |
private: |
- friend class base::DeleteHelper<BlobDataHandleShared>; |
- friend class base::RefCountedThreadSafe<BlobDataHandleShared>; |
- friend class BlobDataHandle; |
+ friend class base::DeleteHelper<BlobDataSnapshotHandleShared>; |
+ friend class base::RefCountedThreadSafe<BlobDataSnapshotHandleShared>; |
+ friend class BlobDataSnapshotHandle; |
- virtual ~BlobDataHandleShared(); |
+ virtual ~BlobDataSnapshotHandleShared(); |
- scoped_refptr<BlobData> blob_data_; |
+ scoped_ptr<BlobDataSnapshot> blob_data_; |
base::WeakPtr<BlobStorageContext> context_; |
- DISALLOW_COPY_AND_ASSIGN(BlobDataHandleShared); |
+ DISALLOW_COPY_AND_ASSIGN(BlobDataSnapshotHandleShared); |
}; |
friend class BlobStorageContext; |
- BlobDataHandle(BlobData* blob_data, BlobStorageContext* context, |
- base::SequencedTaskRunner* task_runner); |
+ BlobDataSnapshotHandle(BlobDataSnapshot* blob_data, |
+ BlobStorageContext* context, |
+ base::SequencedTaskRunner* task_runner); |
scoped_refptr<base::SequencedTaskRunner> io_task_runner_; |
- scoped_refptr<BlobDataHandleShared> shared_; |
+ scoped_refptr<BlobDataSnapshotHandleShared> shared_; |
}; |
} // namespace storage |