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

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

Issue 1337153002: [Blob] BlobReader class & tests, and removal of all redundant reading. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed prod/debug flakiness Created 5 years, 3 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_url_request_job_factory.cc
diff --git a/storage/browser/blob/blob_url_request_job_factory.cc b/storage/browser/blob/blob_url_request_job_factory.cc
index feb5df0855ca50dad00c039a049f28b3b9632f84..5961697873d556014b47624a69127843fcebe1e7 100644
--- a/storage/browser/blob/blob_url_request_job_factory.cc
+++ b/storage/browser/blob/blob_url_request_job_factory.cc
@@ -19,10 +19,6 @@ namespace {
int kUserDataKey; // The value is not important, the addr is a key.
-BlobDataHandle* GetRequestedBlobDataHandle(net::URLRequest* request) {
- return static_cast<BlobDataHandle*>(request->GetUserData(&kUserDataKey));
-}
-
} // namespace
// static
@@ -44,6 +40,12 @@ void BlobProtocolHandler::SetRequestedBlobDataHandle(
request->SetUserData(&kUserDataKey, blob_data_handle.release());
}
+// static
+BlobDataHandle* BlobProtocolHandler::GetRequestBlobDataHandle(
+ net::URLRequest* request) {
+ return static_cast<BlobDataHandle*>(request->GetUserData(&kUserDataKey));
+}
+
BlobProtocolHandler::BlobProtocolHandler(
BlobStorageContext* context,
storage::FileSystemContext* file_system_context,
@@ -59,18 +61,16 @@ BlobProtocolHandler::~BlobProtocolHandler() {
net::URLRequestJob* BlobProtocolHandler::MaybeCreateJob(
net::URLRequest* request, net::NetworkDelegate* network_delegate) const {
- return new storage::BlobURLRequestJob(request,
- network_delegate,
- LookupBlobData(request),
- file_system_context_.get(),
- file_task_runner_.get());
+ return new storage::BlobURLRequestJob(
+ request, network_delegate, LookupBlobHandle(request),
+ file_system_context_.get(), file_task_runner_.get());
}
-scoped_ptr<BlobDataSnapshot> BlobProtocolHandler::LookupBlobData(
+BlobDataHandle* BlobProtocolHandler::LookupBlobHandle(
net::URLRequest* request) const {
- BlobDataHandle* blob_data_handle = GetRequestedBlobDataHandle(request);
+ BlobDataHandle* blob_data_handle = GetRequestBlobDataHandle(request);
if (blob_data_handle)
- return blob_data_handle->CreateSnapshot().Pass();
+ return blob_data_handle;
if (!context_.get())
return NULL;
@@ -83,12 +83,11 @@ scoped_ptr<BlobDataSnapshot> BlobProtocolHandler::LookupBlobData(
return NULL;
std::string uuid = request->url().spec().substr(kPrefix.length());
scoped_ptr<BlobDataHandle> handle = context_->GetBlobDataFromUUID(uuid);
- scoped_ptr<BlobDataSnapshot> snapshot;
+ BlobDataHandle* handle_ptr = handle.get();
if (handle) {
- snapshot = handle->CreateSnapshot().Pass();
SetRequestedBlobDataHandle(request, handle.Pass());
}
- return snapshot.Pass();
+ return handle_ptr;
}
} // namespace storage
« no previous file with comments | « storage/browser/blob/blob_url_request_job_factory.h ('k') | storage/browser/blob/upload_blob_element_reader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698