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

Unified Diff: content/browser/indexed_db/indexed_db_dispatcher_host.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: content/browser/indexed_db/indexed_db_dispatcher_host.cc
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.cc b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
index 7a4b40134044fddc321e5762093df109a9471bcf..41062c2c7544666b86fd47aac527976f38ec993a 100644
--- a/content/browser/indexed_db/indexed_db_dispatcher_host.cc
+++ b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
@@ -223,14 +223,15 @@ std::string IndexedDBDispatcherHost::HoldBlobData(
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
std::string uuid = blob_info.uuid();
storage::BlobStorageContext* context = blob_storage_context_->context();
- scoped_ptr<storage::BlobDataHandle> blob_data_handle;
+ scoped_ptr<storage::BlobDataSnapshotHandle> blob_data_handle;
if (uuid.empty()) {
uuid = base::GenerateGUID();
- scoped_refptr<storage::BlobData> blob_data = new storage::BlobData(uuid);
+ scoped_ptr<storage::BlobDataBuilder> blob_data(
+ new storage::BlobDataBuilder(uuid));
blob_data->set_content_type(base::UTF16ToUTF8(blob_info.type()));
blob_data->AppendFile(blob_info.file_path(), 0, blob_info.size(),
blob_info.last_modified());
- blob_data_handle = context->AddFinishedBlob(blob_data.get());
+ blob_data_handle = context->AddFinishedBlob(*blob_data.get());
} else {
auto iter = blob_data_handle_map_.find(uuid);
if (iter != blob_data_handle_map_.end()) {
@@ -371,7 +372,7 @@ void IndexedDBDispatcherHost::OnIDBFactoryDeleteDatabase(
// to the IndexedDBDispatcherHost.
void IndexedDBDispatcherHost::OnPutHelper(
const IndexedDBHostMsg_DatabasePut_Params& params,
- std::vector<storage::BlobDataHandle*> handles) {
+ std::vector<storage::BlobDataSnapshotHandle*> handles) {
database_dispatcher_host_->OnPut(params, handles);
}
@@ -644,7 +645,7 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnGet(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnPutWrapper(
const IndexedDBHostMsg_DatabasePut_Params& params) {
- std::vector<storage::BlobDataHandle*> handles;
+ std::vector<storage::BlobDataSnapshotHandle*> handles;
for (size_t i = 0; i < params.blob_or_file_info.size(); ++i) {
const IndexedDBMsg_BlobOrFileInfo& info = params.blob_or_file_info[i];
handles.push_back(parent_->blob_storage_context_->context()
@@ -659,11 +660,11 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnPutWrapper(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnPut(
const IndexedDBHostMsg_DatabasePut_Params& params,
- std::vector<storage::BlobDataHandle*> handles) {
+ std::vector<storage::BlobDataSnapshotHandle*> handles) {
DCHECK(
parent_->indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread());
- ScopedVector<storage::BlobDataHandle> scoped_handles;
+ ScopedVector<storage::BlobDataSnapshotHandle> scoped_handles;
scoped_handles.swap(handles);
IndexedDBConnection* connection =

Powered by Google App Engine
This is Rietveld 408576698