| Index: webkit/blob/blob_storage_controller.cc
|
| diff --git a/webkit/blob/blob_storage_controller.cc b/webkit/blob/blob_storage_controller.cc
|
| index 6a10811bab0d1c0cda633b19de525d02bde68a19..cf5534e92890e201bfa470ac992e345655a84251 100644
|
| --- a/webkit/blob/blob_storage_controller.cc
|
| +++ b/webkit/blob/blob_storage_controller.cc
|
| @@ -6,7 +6,6 @@
|
|
|
| #include "base/logging.h"
|
| #include "googleurl/src/gurl.h"
|
| -#include "net/base/upload_data.h"
|
| #include "webkit/blob/blob_data.h"
|
|
|
| namespace webkit_blob {
|
| @@ -169,73 +168,6 @@ BlobData* BlobStorageController::GetBlobDataFromUrl(const GURL& url) {
|
| return (found != blob_map_.end()) ? found->second : NULL;
|
| }
|
|
|
| -void BlobStorageController::ResolveBlobReferencesInUploadData(
|
| - net::UploadData* upload_data) {
|
| - DCHECK(upload_data);
|
| -
|
| - std::vector<net::UploadElement>* uploads =
|
| - upload_data->elements_mutable();
|
| - std::vector<net::UploadElement>::iterator iter;
|
| - for (iter = uploads->begin(); iter != uploads->end();) {
|
| - if (iter->type() != net::UploadElement::TYPE_BLOB) {
|
| - iter++;
|
| - continue;
|
| - }
|
| -
|
| - // Find the referred blob data.
|
| - BlobData* blob_data = GetBlobDataFromUrl(iter->blob_url());
|
| - DCHECK(blob_data);
|
| - if (!blob_data) {
|
| - // TODO(jianli): We should probably fail uploading the data
|
| - iter++;
|
| - continue;
|
| - }
|
| -
|
| - // Remove this element.
|
| - iter = uploads->erase(iter);
|
| -
|
| - // If there is no element in the referred blob data, continue the loop.
|
| - // Note that we should not increase iter since it already points to the one
|
| - // after the removed element.
|
| - if (blob_data->items().empty())
|
| - continue;
|
| -
|
| - // Ensure the blob and any attached shareable files survive until
|
| - // upload completion.
|
| - upload_data->SetUserData(blob_data,
|
| - new base::UserDataAdapter<BlobData>(blob_data));
|
| -
|
| - // Insert the elements in the referred blob data.
|
| - // Note that we traverse from the bottom so that the elements can be
|
| - // inserted in the original order.
|
| - for (size_t i = blob_data->items().size(); i > 0; --i) {
|
| - iter = uploads->insert(iter, net::UploadElement());
|
| -
|
| - const BlobData::Item& item = blob_data->items().at(i - 1);
|
| - switch (item.type) {
|
| - case BlobData::TYPE_DATA:
|
| - // TODO(jianli): Figure out how to avoid copying the data.
|
| - // TODO(michaeln): Now that blob_data surives for the duration,
|
| - // maybe UploadData could take a raw ptr without having to copy.
|
| - iter->SetToBytes(
|
| - &item.data.at(0) + static_cast<int>(item.offset),
|
| - static_cast<int>(item.length));
|
| - break;
|
| - case BlobData::TYPE_FILE:
|
| - iter->SetToFilePathRange(
|
| - item.file_path,
|
| - item.offset,
|
| - item.length,
|
| - item.expected_modification_time);
|
| - break;
|
| - default:
|
| - NOTREACHED();
|
| - break;
|
| - }
|
| - }
|
| - }
|
| -}
|
| -
|
| void BlobStorageController::AppendStorageItems(
|
| BlobData* target_blob_data, BlobData* src_blob_data,
|
| uint64 offset, uint64 length) {
|
|
|