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

Unified Diff: chrome/browser/sync_file_system/local/canned_syncable_file_system.cc

Issue 23223003: Chromium Blob hacking (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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: chrome/browser/sync_file_system/local/canned_syncable_file_system.cc
diff --git a/chrome/browser/sync_file_system/local/canned_syncable_file_system.cc b/chrome/browser/sync_file_system/local/canned_syncable_file_system.cc
index 3a2d71d8b5d7e867b407e680550ebf44ccf02e3d..20bf12ccbefc6499dece43c582f78400fbe39f6c 100644
--- a/chrome/browser/sync_file_system/local/canned_syncable_file_system.cc
+++ b/chrome/browser/sync_file_system/local/canned_syncable_file_system.cc
@@ -10,6 +10,7 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/file_util.h"
+#include "base/guid.h"
#include "base/message_loop/message_loop_proxy.h"
#include "base/run_loop.h"
#include "base/single_thread_task_runner.h"
@@ -147,11 +148,13 @@ class WriteHelper {
public:
WriteHelper() : bytes_written_(0) {}
WriteHelper(MockBlobURLRequestContext* request_context,
- const GURL& blob_url,
const std::string& blob_data)
: bytes_written_(0),
request_context_(request_context),
- blob_data_(new ScopedTextBlob(*request_context, blob_url, blob_data)) {}
+ blob_data_(new ScopedTextBlob(*request_context,
+ base::GenerateGUID(),
+ blob_data)) {
+ }
~WriteHelper() {
if (request_context_) {
@@ -160,6 +163,8 @@ class WriteHelper {
}
}
+ ScopedTextBlob* scoped_text_blob() const { return blob_data_.get(); }
+
void DidWrite(const base::Callback<void(int64 result)>& completion_callback,
PlatformFileError error, int64 bytes, bool complete) {
if (error == base::PLATFORM_FILE_OK) {
@@ -448,14 +453,15 @@ PlatformFileError CannedSyncableFileSystem::ReadDirectory(
int64 CannedSyncableFileSystem::Write(
net::URLRequestContext* url_request_context,
- const FileSystemURL& url, const GURL& blob_url) {
+ const FileSystemURL& url,
+ scoped_ptr<webkit_blob::BlobDataHandle> blob_data_handle) {
return RunOnThread<int64>(io_task_runner_.get(),
FROM_HERE,
base::Bind(&CannedSyncableFileSystem::DoWrite,
base::Unretained(this),
url_request_context,
url,
- blob_url));
+ base::Passed(&blob_data_handle)));
}
int64 CannedSyncableFileSystem::WriteString(
@@ -626,11 +632,13 @@ void CannedSyncableFileSystem::DoReadDirectory(
void CannedSyncableFileSystem::DoWrite(
net::URLRequestContext* url_request_context,
- const FileSystemURL& url, const GURL& blob_url,
+ const FileSystemURL& url,
+ scoped_ptr<webkit_blob::BlobDataHandle> blob_data_handle,
const WriteCallback& callback) {
EXPECT_TRUE(is_filesystem_opened_);
WriteHelper* helper = new WriteHelper;
- operation_runner()->Write(url_request_context, url, blob_url, 0,
+ operation_runner()->Write(url_request_context, url,
+ blob_data_handle.Pass(), 0,
base::Bind(&WriteHelper::DidWrite,
base::Owned(helper), callback));
}
@@ -641,9 +649,9 @@ void CannedSyncableFileSystem::DoWriteString(
const WriteCallback& callback) {
MockBlobURLRequestContext* url_request_context(
new MockBlobURLRequestContext(file_system_context_.get()));
- const GURL blob_url(std::string("blob:") + data);
- WriteHelper* helper = new WriteHelper(url_request_context, blob_url, data);
- operation_runner()->Write(url_request_context, url, blob_url, 0,
+ WriteHelper* helper = new WriteHelper(url_request_context, data);
+ operation_runner()->Write(url_request_context, url,
+ helper->scoped_text_blob()->GetBlobDataHandle(), 0,
base::Bind(&WriteHelper::DidWrite,
base::Owned(helper), callback));
}

Powered by Google App Engine
This is Rietveld 408576698