| Index: webkit/browser/fileapi/syncable/local_file_sync_context.cc
|
| diff --git a/webkit/browser/fileapi/syncable/local_file_sync_context.cc b/webkit/browser/fileapi/syncable/local_file_sync_context.cc
|
| index 764eb4286291caf2749b13d7d2f0430869b04499..3d6d29fac65c55763c89d7c54d1c859be607349b 100644
|
| --- a/webkit/browser/fileapi/syncable/local_file_sync_context.cc
|
| +++ b/webkit/browser/fileapi/syncable/local_file_sync_context.cc
|
| @@ -21,6 +21,7 @@
|
| #include "webkit/browser/fileapi/syncable/sync_file_metadata.h"
|
| #include "webkit/browser/fileapi/syncable/syncable_file_operation_runner.h"
|
| #include "webkit/browser/fileapi/syncable/syncable_file_system_util.h"
|
| +#include "webkit/browser/fileapi/syncable/syncable_sandbox_mount_point_provider.h"
|
| #include "webkit/common/fileapi/file_system_util.h"
|
|
|
| using fileapi::FileSystemContext;
|
| @@ -119,8 +120,12 @@ void LocalFileSyncContext::ClearChangesForURL(
|
| url, done_callback));
|
| return;
|
| }
|
| - DCHECK(file_system_context->change_tracker());
|
| - file_system_context->change_tracker()->ClearChangesForURL(url);
|
| +
|
| + SyncableSandboxMountPointProvider* provider =
|
| + SyncableSandboxMountPointProvider::GetProvider(file_system_context);
|
| + DCHECK(provider);
|
| + DCHECK(provider->change_tracker());
|
| + provider->change_tracker()->ClearChangesForURL(url);
|
|
|
| // Call the completion callback on UI thread.
|
| ui_task_runner_->PostTask(FROM_HERE, done_callback);
|
| @@ -303,9 +308,12 @@ void LocalFileSyncContext::RecordFakeLocalChange(
|
| return;
|
| }
|
|
|
| - DCHECK(file_system_context->change_tracker());
|
| - file_system_context->change_tracker()->MarkDirtyOnDatabase(url);
|
| - file_system_context->change_tracker()->RecordChange(url, change);
|
| + SyncableSandboxMountPointProvider* provider =
|
| + SyncableSandboxMountPointProvider::GetProvider(file_system_context);
|
| + DCHECK(provider);
|
| + DCHECK(provider->change_tracker());
|
| + provider->change_tracker()->MarkDirtyOnDatabase(url);
|
| + provider->change_tracker()->RecordChange(url, change);
|
|
|
| // Fire the callback on UI thread.
|
| ui_task_runner_->PostTask(FROM_HERE,
|
| @@ -352,9 +360,12 @@ void LocalFileSyncContext::HasPendingLocalChanges(
|
| return;
|
| }
|
|
|
| - DCHECK(file_system_context->change_tracker());
|
| + SyncableSandboxMountPointProvider* provider =
|
| + SyncableSandboxMountPointProvider::GetProvider(file_system_context);
|
| + DCHECK(provider);
|
| + DCHECK(provider->change_tracker());
|
| FileChangeList changes;
|
| - file_system_context->change_tracker()->GetChangesForURL(url, &changes);
|
| + provider->change_tracker()->GetChangesForURL(url, &changes);
|
|
|
| // Fire the callback on UI thread.
|
| ui_task_runner_->PostTask(FROM_HERE,
|
| @@ -446,7 +457,10 @@ void LocalFileSyncContext::InitializeFileSystemContextOnIOThread(
|
| FileSystemContext* file_system_context) {
|
| DCHECK(io_task_runner_->RunsTasksOnCurrentThread());
|
| DCHECK(file_system_context);
|
| - if (!file_system_context->change_tracker()) {
|
| + SyncableSandboxMountPointProvider* provider =
|
| + SyncableSandboxMountPointProvider::GetProvider(file_system_context);
|
| + DCHECK(provider);
|
| + if (!provider->change_tracker()) {
|
| // First registers the service name.
|
| RegisterSyncableFileSystem();
|
| // Create and initialize LocalFileChangeTracker and call back this method
|
| @@ -478,7 +492,7 @@ void LocalFileSyncContext::InitializeFileSystemContextOnIOThread(
|
| sync_status_.get()));
|
| sync_status_->AddObserver(this);
|
| }
|
| - file_system_context->set_sync_context(this);
|
| + provider->set_sync_context(this);
|
| DidInitialize(source_url, file_system_context,
|
| SYNC_STATUS_OK);
|
| }
|
| @@ -520,7 +534,11 @@ void LocalFileSyncContext::DidInitializeChangeTrackerOnIOThread(
|
| DidInitialize(source_url, file_system_context, status);
|
| return;
|
| }
|
| - file_system_context->SetLocalFileChangeTracker(tracker_ptr->Pass());
|
| +
|
| + SyncableSandboxMountPointProvider* provider =
|
| + SyncableSandboxMountPointProvider::GetProvider(file_system_context);
|
| + DCHECK(provider);
|
| + provider->set_change_tracker(tracker_ptr->Pass());
|
|
|
| origins_with_pending_changes_.insert(origins_with_changes->begin(),
|
| origins_with_changes->end());
|
| @@ -544,7 +562,11 @@ void LocalFileSyncContext::DidInitialize(
|
| DCHECK(ui_task_runner_->RunsTasksOnCurrentThread());
|
| DCHECK(!ContainsKey(file_system_contexts_, file_system_context));
|
| DCHECK(ContainsKey(pending_initialize_callbacks_, file_system_context));
|
| - DCHECK(file_system_context->change_tracker());
|
| +
|
| + SyncableSandboxMountPointProvider* provider =
|
| + SyncableSandboxMountPointProvider::GetProvider(file_system_context);
|
| + DCHECK(provider);
|
| + DCHECK(provider->change_tracker());
|
|
|
| file_system_contexts_.insert(file_system_context);
|
|
|
| @@ -563,8 +585,12 @@ void LocalFileSyncContext::GetNextURLsForSyncOnFileThread(
|
| DCHECK(file_system_context);
|
| DCHECK(file_system_context->task_runners()->file_task_runner()->
|
| RunsTasksOnCurrentThread());
|
| - DCHECK(file_system_context->change_tracker());
|
| - file_system_context->change_tracker()->GetNextChangedURLs(
|
| +
|
| + SyncableSandboxMountPointProvider* provider =
|
| + SyncableSandboxMountPointProvider::GetProvider(file_system_context);
|
| + DCHECK(provider);
|
| + DCHECK(provider->change_tracker());
|
| + provider->change_tracker()->GetNextChangedURLs(
|
| urls, kMaxURLsToFetchForLocalSync);
|
| }
|
|
|
| @@ -635,9 +661,12 @@ void LocalFileSyncContext::DidGetWritingStatusForSync(
|
| return;
|
| }
|
|
|
| - DCHECK(file_system_context->change_tracker());
|
| + SyncableSandboxMountPointProvider* provider =
|
| + SyncableSandboxMountPointProvider::GetProvider(file_system_context);
|
| + DCHECK(provider);
|
| + DCHECK(provider->change_tracker());
|
| FileChangeList changes;
|
| - file_system_context->change_tracker()->GetChangesForURL(url, &changes);
|
| + provider->change_tracker()->GetChangesForURL(url, &changes);
|
|
|
| base::FilePath platform_path;
|
| base::PlatformFileInfo file_info;
|
|
|