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

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

Issue 810403004: [Storage] Blob Storage Refactoring pt 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: memory leak fixed Created 5 years, 11 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.cc
diff --git a/storage/browser/blob/blob_data_handle.cc b/storage/browser/blob/blob_data_handle.cc
index cf647b4d9cc8a95c1a8df521c0157ad4563691a9..50ed6a2857ffe04d917f0cf835389c9c0c27510b 100644
--- a/storage/browser/blob/blob_data_handle.cc
+++ b/storage/browser/blob/blob_data_handle.cc
@@ -13,55 +13,60 @@
namespace storage {
-BlobDataHandle::BlobDataHandleShared::BlobDataHandleShared(
- BlobData* blob_data,
- BlobStorageContext* context,
- base::SequencedTaskRunner* task_runner)
- : blob_data_(blob_data),
- context_(context->AsWeakPtr()) {
+BlobDataSnapshotHandle::BlobDataSnapshotHandleShared::
+ BlobDataSnapshotHandleShared(BlobDataSnapshot* blob_data,
+ BlobStorageContext* context,
+ base::SequencedTaskRunner* task_runner)
+ : blob_data_(blob_data), context_(context->AsWeakPtr()) {
context_->IncrementBlobRefCount(blob_data->uuid());
}
-BlobData* BlobDataHandle::BlobDataHandleShared::data() const {
+BlobDataSnapshot* BlobDataSnapshotHandle::BlobDataSnapshotHandleShared::data()
+ const {
return blob_data_.get();
}
-const std::string& BlobDataHandle::BlobDataHandleShared::uuid() const {
+const std::string& BlobDataSnapshotHandle::BlobDataSnapshotHandleShared::uuid()
+ const {
return blob_data_->uuid();
}
-BlobDataHandle::BlobDataHandleShared::~BlobDataHandleShared() {
+BlobDataSnapshotHandle::BlobDataSnapshotHandleShared::
+ ~BlobDataSnapshotHandleShared() {
if (context_.get())
context_->DecrementBlobRefCount(blob_data_->uuid());
}
-BlobDataHandle::BlobDataHandle(BlobData* blob_data,
- BlobStorageContext* context,
- base::SequencedTaskRunner* task_runner)
+BlobDataSnapshotHandle::BlobDataSnapshotHandle(
+ BlobDataSnapshot* blob_data,
+ BlobStorageContext* context,
+ base::SequencedTaskRunner* task_runner)
: io_task_runner_(task_runner),
- shared_(new BlobDataHandleShared(blob_data, context, task_runner)) {
+ shared_(
+ new BlobDataSnapshotHandleShared(blob_data, context, task_runner)) {
DCHECK(io_task_runner_.get());
DCHECK(io_task_runner_->RunsTasksOnCurrentThread());
}
-BlobDataHandle::BlobDataHandle(const BlobDataHandle& other) {
+BlobDataSnapshotHandle::BlobDataSnapshotHandle(
+ const BlobDataSnapshotHandle& other) {
io_task_runner_ = other.io_task_runner_;
shared_ = other.shared_;
}
-BlobDataHandle::~BlobDataHandle() {
- BlobDataHandleShared* raw = shared_.get();
+BlobDataSnapshotHandle::~BlobDataSnapshotHandle() {
+ BlobDataSnapshotHandleShared* raw = shared_.get();
raw->AddRef();
- shared_ = 0;
+ shared_ = nullptr;
io_task_runner_->ReleaseSoon(FROM_HERE, raw);
}
-BlobData* BlobDataHandle::data() const {
+const BlobDataSnapshot* BlobDataSnapshotHandle::data() const {
DCHECK(io_task_runner_->RunsTasksOnCurrentThread());
return shared_->data();
}
-std::string BlobDataHandle::uuid() const {
+const std::string& BlobDataSnapshotHandle::uuid() const {
return shared_->uuid();
}

Powered by Google App Engine
This is Rietveld 408576698