| Index: content/browser/fileapi/chrome_blob_storage_context.cc
|
| diff --git a/content/browser/fileapi/chrome_blob_storage_context.cc b/content/browser/fileapi/chrome_blob_storage_context.cc
|
| index f8753b5ea77e521d8f0c4fc24d517ee965bfdd6c..1f8acc8f7a6332030b38c0da0934157ca8fe9d3e 100644
|
| --- a/content/browser/fileapi/chrome_blob_storage_context.cc
|
| +++ b/content/browser/fileapi/chrome_blob_storage_context.cc
|
| @@ -82,6 +82,27 @@ scoped_ptr<BlobHandle> ChromeBlobStorageContext::CreateMemoryBackedBlob(
|
| return blob_handle.Pass();
|
| }
|
|
|
| +scoped_ptr<BlobHandle> ChromeBlobStorageContext::CreateFileBackedBlob(
|
| + const base::FilePath& path,
|
| + int64_t offset,
|
| + int64_t size,
|
| + const base::Time& expected_modification_time) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| +
|
| + std::string uuid(base::GenerateGUID());
|
| + storage::BlobDataBuilder blob_data_builder(uuid);
|
| + blob_data_builder.AppendFile(path, offset, size, expected_modification_time);
|
| +
|
| + scoped_ptr<storage::BlobDataHandle> blob_data_handle =
|
| + context_->AddFinishedBlob(&blob_data_builder);
|
| + if (!blob_data_handle)
|
| + return scoped_ptr<BlobHandle>();
|
| +
|
| + scoped_ptr<BlobHandle> blob_handle(
|
| + new BlobHandleImpl(blob_data_handle.Pass()));
|
| + return blob_handle.Pass();
|
| +}
|
| +
|
| ChromeBlobStorageContext::~ChromeBlobStorageContext() {}
|
|
|
| void ChromeBlobStorageContext::DeleteOnCorrectThread() const {
|
|
|