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

Side by Side Diff: webkit/fileapi/syncable/syncable_file_system_operation.cc

Issue 11410019: ********** Chromium Blob hacking (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/fileapi/syncable/syncable_file_system_operation.h" 5 #include "webkit/fileapi/syncable/syncable_file_system_operation.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "webkit/blob/shareable_file_reference.h" 8 #include "webkit/blob/blob_storage_context.h"
9 #include "webkit/fileapi/file_system_context.h" 9 #include "webkit/fileapi/file_system_context.h"
10 #include "webkit/fileapi/file_system_url.h" 10 #include "webkit/fileapi/file_system_url.h"
11 #include "webkit/fileapi/local_file_system_operation.h" 11 #include "webkit/fileapi/local_file_system_operation.h"
12 #include "webkit/fileapi/sandbox_mount_point_provider.h" 12 #include "webkit/fileapi/sandbox_mount_point_provider.h"
13 #include "webkit/fileapi/syncable/local_file_sync_context.h" 13 #include "webkit/fileapi/syncable/local_file_sync_context.h"
14 #include "webkit/fileapi/syncable/syncable_file_operation_runner.h" 14 #include "webkit/fileapi/syncable/syncable_file_operation_runner.h"
15 15
16 namespace fileapi { 16 namespace fileapi {
17 17
18 namespace { 18 namespace {
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 base::Bind(&FileSystemOperation::Remove, 229 base::Bind(&FileSystemOperation::Remove,
230 base::Unretained(file_system_operation_), 230 base::Unretained(file_system_operation_),
231 url, recursive, 231 url, recursive,
232 base::Bind(&self::DidFinish, base::Owned(this))))); 232 base::Bind(&self::DidFinish, base::Owned(this)))));
233 operation_runner_->PostOperationTask(task.Pass()); 233 operation_runner_->PostOperationTask(task.Pass());
234 } 234 }
235 235
236 void SyncableFileSystemOperation::Write( 236 void SyncableFileSystemOperation::Write(
237 const net::URLRequestContext* url_request_context, 237 const net::URLRequestContext* url_request_context,
238 const FileSystemURL& url, 238 const FileSystemURL& url,
239 const GURL& blob_url, 239 scoped_ptr<webkit_blob::BlobDataHandle> blob_handle,
240 int64 offset, 240 int64 offset,
241 const WriteCallback& callback) { 241 const WriteCallback& callback) {
242 DCHECK(CalledOnValidThread()); 242 DCHECK(CalledOnValidThread());
243 if (!operation_runner_) { 243 if (!operation_runner_) {
244 callback.Run(base::PLATFORM_FILE_ERROR_NOT_FOUND, 0, true); 244 callback.Run(base::PLATFORM_FILE_ERROR_NOT_FOUND, 0, true);
245 delete file_system_operation_; 245 delete file_system_operation_;
246 delete this; 246 delete this;
247 return; 247 return;
248 } 248 }
249 DCHECK(operation_runner_.get()); 249 DCHECK(operation_runner_.get());
250 target_paths_.push_back(url); 250 target_paths_.push_back(url);
251 completion_callback_ = base::Bind(&WriteCallbackAdapter, callback); 251 completion_callback_ = base::Bind(&WriteCallbackAdapter, callback);
252 scoped_ptr<SyncableFileOperationRunner::Task> task(new QueueableTask( 252 scoped_ptr<SyncableFileOperationRunner::Task> task(new QueueableTask(
253 this, 253 this,
254 file_system_operation_->GetWriteClosure( 254 file_system_operation_->GetWriteClosure(
255 url_request_context, url, blob_url, offset, 255 url_request_context, url, blob_handle.Pass(), offset,
256 base::Bind(&self::DidWrite, base::Owned(this), callback)))); 256 base::Bind(&self::DidWrite, base::Owned(this), callback))));
257 operation_runner_->PostOperationTask(task.Pass()); 257 operation_runner_->PostOperationTask(task.Pass());
258 } 258 }
259 259
260 void SyncableFileSystemOperation::Truncate( 260 void SyncableFileSystemOperation::Truncate(
261 const FileSystemURL& url, int64 length, 261 const FileSystemURL& url, int64 length,
262 const StatusCallback& callback) { 262 const StatusCallback& callback) {
263 DCHECK(CalledOnValidThread()); 263 DCHECK(CalledOnValidThread());
264 if (!operation_runner_) { 264 if (!operation_runner_) {
265 AbortOperation(callback, base::PLATFORM_FILE_ERROR_NOT_FOUND); 265 AbortOperation(callback, base::PLATFORM_FILE_ERROR_NOT_FOUND);
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 386
387 void SyncableFileSystemOperation::AbortOperation( 387 void SyncableFileSystemOperation::AbortOperation(
388 const StatusCallback& callback, 388 const StatusCallback& callback,
389 base::PlatformFileError error) { 389 base::PlatformFileError error) {
390 callback.Run(error); 390 callback.Run(error);
391 delete file_system_operation_; 391 delete file_system_operation_;
392 delete this; 392 delete this;
393 } 393 }
394 394
395 } // namespace fileapi 395 } // namespace fileapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698