| Index: webkit/fileapi/syncable/local_file_sync_context.cc
|
| diff --git a/webkit/fileapi/syncable/local_file_sync_context.cc b/webkit/fileapi/syncable/local_file_sync_context.cc
|
| index ec8f0e53cd7e2b8048726dd0dd430e88ba4a2dc0..16d95a13cdba8475568f32fddca981257428fac9 100644
|
| --- a/webkit/fileapi/syncable/local_file_sync_context.cc
|
| +++ b/webkit/fileapi/syncable/local_file_sync_context.cc
|
| @@ -92,9 +92,10 @@ void LocalFileSyncContext::GetFileForLocalSync(
|
| base::Owned(urls), callback));
|
| }
|
|
|
| -void LocalFileSyncContext::FinalizeSyncForURL(
|
| +void LocalFileSyncContext::ClearChangesForURL(
|
| FileSystemContext* file_system_context,
|
| - const FileSystemURL& url) {
|
| + const FileSystemURL& url,
|
| + const base::Closure& done_callback) {
|
| // This is initially called on UI thread and to be relayed to FILE thread.
|
| DCHECK(file_system_context);
|
| if (!file_system_context->task_runners()->file_task_runner()->
|
| @@ -102,14 +103,20 @@ void LocalFileSyncContext::FinalizeSyncForURL(
|
| DCHECK(ui_task_runner_->RunsTasksOnCurrentThread());
|
| file_system_context->task_runners()->file_task_runner()->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&LocalFileSyncContext::FinalizeSyncForURL,
|
| - this, make_scoped_refptr(file_system_context), url));
|
| + base::Bind(&LocalFileSyncContext::ClearChangesForURL,
|
| + this, make_scoped_refptr(file_system_context),
|
| + url, done_callback));
|
| return;
|
| }
|
| DCHECK(file_system_context->change_tracker());
|
| file_system_context->change_tracker()->ClearChangesForURL(url);
|
|
|
| - // Call out to the IO thread to re-enable writing.
|
| + // Call the completion callback on UI thread.
|
| + ui_task_runner_->PostTask(FROM_HERE, done_callback);
|
| +}
|
| +
|
| +void LocalFileSyncContext::ClearSyncFlagForURL(const FileSystemURL& url) {
|
| + // This is initially called on UI thread and to be relayed to IO thread.
|
| io_task_runner_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&LocalFileSyncContext::EnableWritingOnIOThread,
|
|
|