| 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 a3258295124644efbe4fd4da89c5807b5f0a148d..531e67fdaefa89b665d532416539737a7953ac9d 100644
|
| --- a/webkit/fileapi/syncable/local_file_sync_context.cc
|
| +++ b/webkit/fileapi/syncable/local_file_sync_context.cc
|
| @@ -17,6 +17,10 @@
|
|
|
| namespace fileapi {
|
|
|
| +namespace {
|
| +const int kMaxConcurrentSyncableOperation = 3;
|
| +} // namespace
|
| +
|
| LocalFileSyncContext::LocalFileSyncContext(
|
| base::SingleThreadTaskRunner* ui_task_runner,
|
| base::SingleThreadTaskRunner* io_task_runner)
|
| @@ -68,12 +72,18 @@ LocalFileSyncContext::operation_runner() const {
|
| return base::WeakPtr<SyncableFileOperationRunner>();
|
| }
|
|
|
| +LocalFileSyncStatus* LocalFileSyncContext::sync_status() const {
|
| + DCHECK(io_task_runner_->RunsTasksOnCurrentThread());
|
| + return sync_status_.get();
|
| +}
|
| +
|
| LocalFileSyncContext::~LocalFileSyncContext() {
|
| }
|
|
|
| void LocalFileSyncContext::ShutdownOnIOThread() {
|
| DCHECK(io_task_runner_->RunsTasksOnCurrentThread());
|
| operation_runner_.reset();
|
| + sync_status_.reset();
|
| }
|
|
|
| void LocalFileSyncContext::InitializeFileSystemContextOnIOThread(
|
| @@ -98,8 +108,13 @@ void LocalFileSyncContext::InitializeFileSystemContextOnIOThread(
|
| make_scoped_refptr(file_system_context)));
|
| return;
|
| }
|
| - if (!operation_runner_.get())
|
| - operation_runner_.reset(new SyncableFileOperationRunner);
|
| + if (!operation_runner_.get()) {
|
| + DCHECK(!sync_status_.get());
|
| + sync_status_.reset(new LocalFileSyncStatus);
|
| + operation_runner_.reset(new SyncableFileOperationRunner(
|
| + kMaxConcurrentSyncableOperation,
|
| + sync_status_.get()));
|
| + }
|
| file_system_context->set_sync_context(this);
|
| DidInitialize(source_url, file_system_context, SYNC_STATUS_OK);
|
| }
|
|
|