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

Unified Diff: content/browser/fileapi/blob_storage_host.cc

Issue 1234813004: [BlobAsync] Asynchronous Blob Construction Final Patch (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@blob-protocol-change
Patch Set: comments and rebase Created 4 years, 9 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 | « content/browser/fileapi/blob_storage_host.h ('k') | content/browser/fileapi/fileapi_message_filter.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/fileapi/blob_storage_host.cc
diff --git a/content/browser/fileapi/blob_storage_host.cc b/content/browser/fileapi/blob_storage_host.cc
deleted file mode 100644
index faf81010dd3f201dd48476a2a988ebeed51ca9b4..0000000000000000000000000000000000000000
--- a/content/browser/fileapi/blob_storage_host.cc
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/browser/fileapi/blob_storage_host.h"
-
-#include "base/sequenced_task_runner.h"
-#include "base/strings/string_util.h"
-#include "storage/browser/blob/blob_storage_context.h"
-#include "url/gurl.h"
-
-using storage::BlobStorageContext;
-
-namespace content {
-
-BlobStorageHost::BlobStorageHost(BlobStorageContext* context)
- : context_(context->AsWeakPtr()) {
-}
-
-BlobStorageHost::~BlobStorageHost() {
- if (!context_.get())
- return;
- for (std::set<GURL>::iterator iter = public_blob_urls_.begin();
- iter != public_blob_urls_.end(); ++iter) {
- context_->RevokePublicBlobURL(*iter);
- }
- for (BlobReferenceMap::iterator iter = blobs_inuse_map_.begin();
- iter != blobs_inuse_map_.end(); ++iter) {
- for (int i = 0; i < iter->second; ++i)
- context_->DecrementBlobRefCount(iter->first);
- }
-}
-
-bool BlobStorageHost::StartBuildingBlob(const std::string& uuid) {
- if (!context_.get() || uuid.empty() || context_->IsInUse(uuid))
- return false;
- context_->StartBuildingBlob(uuid);
- blobs_inuse_map_[uuid] = 1;
- return true;
-}
-
-bool BlobStorageHost::AppendBlobDataItem(
- const std::string& uuid,
- const storage::DataElement& data_item) {
- if (!context_.get() || !IsBeingBuiltInHost(uuid))
- return false;
- context_->AppendBlobDataItem(uuid, data_item);
- return true;
-}
-
-bool BlobStorageHost::CancelBuildingBlob(const std::string& uuid) {
- if (!context_.get() || !IsBeingBuiltInHost(uuid))
- return false;
- blobs_inuse_map_.erase(uuid);
- context_->CancelBuildingBlob(uuid);
- return true;
-}
-
-bool BlobStorageHost::FinishBuildingBlob(
- const std::string& uuid, const std::string& content_type) {
- if (!context_.get() || !IsBeingBuiltInHost(uuid))
- return false;
- context_->FinishBuildingBlob(uuid, content_type);
- return true;
-}
-
-bool BlobStorageHost::IncrementBlobRefCount(const std::string& uuid) {
- if (!context_.get() || !context_->IsInUse(uuid) ||
- context_->IsBeingBuilt(uuid))
- return false;
- context_->IncrementBlobRefCount(uuid);
- blobs_inuse_map_[uuid] += 1;
- return true;
-}
-
-bool BlobStorageHost::DecrementBlobRefCount(const std::string& uuid) {
- if (!context_.get() || !IsInUseInHost(uuid))
- return false;
- context_->DecrementBlobRefCount(uuid);
- blobs_inuse_map_[uuid] -= 1;
- if (blobs_inuse_map_[uuid] == 0)
- blobs_inuse_map_.erase(uuid);
- return true;
-}
-
-bool BlobStorageHost::RegisterPublicBlobURL(
- const GURL& blob_url, const std::string& uuid) {
- if (!context_.get() || !IsInUseInHost(uuid) ||
- context_->IsUrlRegistered(blob_url))
- return false;
- context_->RegisterPublicBlobURL(blob_url, uuid);
- public_blob_urls_.insert(blob_url);
- return true;
-}
-
-bool BlobStorageHost::RevokePublicBlobURL(const GURL& blob_url) {
- if (!context_.get() || !IsUrlRegisteredInHost(blob_url))
- return false;
- context_->RevokePublicBlobURL(blob_url);
- public_blob_urls_.erase(blob_url);
- return true;
-}
-
-bool BlobStorageHost::IsInUseInHost(const std::string& uuid) {
- return blobs_inuse_map_.find(uuid) != blobs_inuse_map_.end();
-}
-
-bool BlobStorageHost::IsBeingBuiltInHost(const std::string& uuid) {
- return IsInUseInHost(uuid) && context_->IsBeingBuilt(uuid);
-}
-
-bool BlobStorageHost::IsUrlRegisteredInHost(const GURL& blob_url) {
- return public_blob_urls_.find(blob_url) != public_blob_urls_.end();
-}
-
-} // namespace content
« no previous file with comments | « content/browser/fileapi/blob_storage_host.h ('k') | content/browser/fileapi/fileapi_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698