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

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

Issue 2055053003: [BlobAsync] Disk support for blob storage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 2 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
« no previous file with comments | « storage/browser/blob/blob_storage_registry.h ('k') | storage/browser/blob/blob_transport_result.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: storage/browser/blob/blob_storage_registry.cc
diff --git a/storage/browser/blob/blob_storage_registry.cc b/storage/browser/blob/blob_storage_registry.cc
index 9ddcb99b555ed11cdcbeb0228307e518e77c6ba8..883bd071a548eda9aae28237fc17334492a1a538 100644
--- a/storage/browser/blob/blob_storage_registry.cc
+++ b/storage/browser/blob/blob_storage_registry.cc
@@ -9,15 +9,13 @@
#include <memory>
#include "base/bind.h"
-#include "base/callback.h"
#include "base/location.h"
#include "base/logging.h"
-#include "base/message_loop/message_loop.h"
#include "base/stl_util.h"
+#include "storage/browser/blob/internal_blob_data.h"
#include "url/gurl.h"
namespace storage {
-using BlobState = BlobStorageRegistry::BlobState;
namespace {
// We can't use GURL directly for these hash fragment manipulations
@@ -38,18 +36,6 @@ GURL ClearBlobUrlRef(const GURL& url) {
} // namespace
-BlobStorageRegistry::Entry::Entry(int refcount, BlobState state)
- : refcount(refcount), state(state) {}
-
-BlobStorageRegistry::Entry::~Entry() {}
-
-bool BlobStorageRegistry::Entry::TestAndSetState(BlobState expected,
- BlobState set) {
- if (state != expected)
- return false;
- state = set;
- return true;
-}
BlobStorageRegistry::BlobStorageRegistry() {}
@@ -59,15 +45,14 @@ BlobStorageRegistry::~BlobStorageRegistry() {
// So it shouldn't matter.
}
-BlobStorageRegistry::Entry* BlobStorageRegistry::CreateEntry(
+InternalBlobData* BlobStorageRegistry::CreateEntry(
const std::string& uuid,
const std::string& content_type,
const std::string& content_disposition) {
- DCHECK(!base::ContainsKey(blob_map_, uuid));
- std::unique_ptr<Entry> entry(new Entry(1, BlobState::PENDING));
- entry->content_type = content_type;
- entry->content_disposition = content_disposition;
- Entry* entry_ptr = entry.get();
+ DCHECK(!ContainsKey(blob_map_, uuid));
+ std::unique_ptr<InternalBlobData> entry(
+ new InternalBlobData(content_type, content_disposition));
+ InternalBlobData* entry_ptr = entry.get();
blob_map_.add(uuid, std::move(entry));
return entry_ptr;
}
@@ -80,15 +65,14 @@ bool BlobStorageRegistry::HasEntry(const std::string& uuid) const {
return blob_map_.find(uuid) != blob_map_.end();
}
-BlobStorageRegistry::Entry* BlobStorageRegistry::GetEntry(
- const std::string& uuid) {
+InternalBlobData* BlobStorageRegistry::GetEntry(const std::string& uuid) {
BlobMap::iterator found = blob_map_.find(uuid);
if (found == blob_map_.end())
return nullptr;
return found->second;
}
-const BlobStorageRegistry::Entry* BlobStorageRegistry::GetEntry(
+const InternalBlobData* BlobStorageRegistry::GetEntry(
const std::string& uuid) const {
return const_cast<BlobStorageRegistry*>(this)->GetEntry(uuid);
}
@@ -118,14 +102,13 @@ bool BlobStorageRegistry::IsURLMapped(const GURL& blob_url) const {
return base::ContainsKey(url_to_uuid_, blob_url);
}
-BlobStorageRegistry::Entry* BlobStorageRegistry::GetEntryFromURL(
- const GURL& url,
- std::string* uuid) {
+InternalBlobData* BlobStorageRegistry::GetEntryFromURL(const GURL& url,
+ std::string* uuid) {
URLMap::iterator found =
url_to_uuid_.find(BlobUrlHasRef(url) ? ClearBlobUrlRef(url) : url);
if (found == url_to_uuid_.end())
return nullptr;
- Entry* entry = GetEntry(found->second);
+ InternalBlobData* entry = GetEntry(found->second);
if (entry && uuid)
uuid->assign(found->second);
return entry;
« no previous file with comments | « storage/browser/blob/blob_storage_registry.h ('k') | storage/browser/blob/blob_transport_result.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698