| Index: webkit/browser/fileapi/file_system_context.cc
|
| diff --git a/webkit/browser/fileapi/file_system_context.cc b/webkit/browser/fileapi/file_system_context.cc
|
| index 24c505bb8a927d07b4b892768b411f3680c59005..181c57924a5d70c36995642c6d391e9cdf3bcdb6 100644
|
| --- a/webkit/browser/fileapi/file_system_context.cc
|
| +++ b/webkit/browser/fileapi/file_system_context.cc
|
| @@ -25,8 +25,6 @@
|
| #include "webkit/browser/fileapi/isolated_file_system_backend.h"
|
| #include "webkit/browser/fileapi/mount_points.h"
|
| #include "webkit/browser/fileapi/sandbox_file_system_backend.h"
|
| -#include "webkit/browser/fileapi/syncable/local_file_change_tracker.h"
|
| -#include "webkit/browser/fileapi/syncable/local_file_sync_context.h"
|
| #include "webkit/browser/fileapi/test_file_system_backend.h"
|
| #include "webkit/browser/quota/quota_manager.h"
|
| #include "webkit/browser/quota/special_storage_policy.h"
|
| @@ -116,6 +114,7 @@ FileSystemContext::FileSystemContext(
|
| special_storage_policy)),
|
| sandbox_backend_(new SandboxFileSystemBackend(
|
| sandbox_context_.get(),
|
| + task_runners_->file_task_runner(),
|
| options)),
|
| isolated_backend_(new IsolatedFileSystemBackend()),
|
| additional_backends_(additional_backends.Pass()),
|
| @@ -182,7 +181,7 @@ AsyncFileUtil* FileSystemContext::GetAsyncFileUtil(
|
| FileSystemBackend* backend = GetFileSystemBackend(type);
|
| if (!backend)
|
| return NULL;
|
| - return backend->GetAsyncFileUtil(type);
|
| + return backend->GetAsyncFileUtil(type, this);
|
| }
|
|
|
| FileSystemFileUtil* FileSystemContext::GetFileUtil(
|
| @@ -190,7 +189,7 @@ FileSystemFileUtil* FileSystemContext::GetFileUtil(
|
| FileSystemBackend* backend = GetFileSystemBackend(type);
|
| if (!backend)
|
| return NULL;
|
| - return backend->GetFileUtil(type);
|
| + return backend->GetFileUtil(type, this);
|
| }
|
|
|
| CopyOrMoveFileValidatorFactory*
|
| @@ -220,25 +219,34 @@ bool FileSystemContext::IsSandboxFileSystem(FileSystemType type) const {
|
|
|
| const UpdateObserverList* FileSystemContext::GetUpdateObservers(
|
| FileSystemType type) const {
|
| - // Currently update observer is only available in SandboxFileSystemBackend
|
| - // and TestFileSystemBackend.
|
| - // TODO(kinuko): Probably GetUpdateObservers() virtual method should be
|
| - // added to FileSystemBackend interface and be called like
|
| - // other GetFoo() methods do.
|
| + // Currently update observer is only available in SandboxFileSystemBackend,
|
| + // SyncFileSystemBackend and TestFileSystemBackend.
|
| if (sandbox_backend_->CanHandleType(type))
|
| return sandbox_backend_->GetUpdateObservers(type);
|
| - if (type != kFileSystemTypeTest)
|
| - return NULL;
|
| FileSystemBackend* backend = GetFileSystemBackend(type);
|
| - return static_cast<TestFileSystemBackend*>(
|
| - backend)->GetUpdateObservers(type);
|
| + if (type == kFileSystemTypeSyncable ||
|
| + type == kFileSystemTypeSyncableForInternalSync) {
|
| + return static_cast<SandboxFileSystemBackend*>(
|
| + backend)->GetUpdateObservers(type);
|
| + }
|
| + if (type == kFileSystemTypeTest) {
|
| + return static_cast<TestFileSystemBackend*>(
|
| + backend)->GetUpdateObservers(type);
|
| + }
|
| + return NULL;
|
| }
|
|
|
| const AccessObserverList* FileSystemContext::GetAccessObservers(
|
| FileSystemType type) const {
|
| - // Currently access observer is only available in SandboxFileSystemBackend.
|
| + // Currently access observer is only available in SandboxFileSystemBackend and
|
| + // SyncFileSystemBackend.
|
| if (sandbox_backend_->CanHandleType(type))
|
| return sandbox_backend_->GetAccessObservers(type);
|
| + if (type == kFileSystemTypeSyncable ||
|
| + type == kFileSystemTypeSyncableForInternalSync) {
|
| + return static_cast<SandboxFileSystemBackend*>(
|
| + GetFileSystemBackend(type))->GetAccessObservers(type);
|
| + }
|
| return NULL;
|
| }
|
|
|
| @@ -326,26 +334,6 @@ scoped_ptr<FileStreamWriter> FileSystemContext::CreateFileStreamWriter(
|
| return backend->CreateFileStreamWriter(url, offset, this);
|
| }
|
|
|
| -void FileSystemContext::SetLocalFileChangeTracker(
|
| - scoped_ptr<sync_file_system::LocalFileChangeTracker> tracker) {
|
| - DCHECK(!change_tracker_.get());
|
| - DCHECK(tracker.get());
|
| - change_tracker_ = tracker.Pass();
|
| - sandbox_backend_->AddFileUpdateObserver(
|
| - kFileSystemTypeSyncable,
|
| - change_tracker_.get(),
|
| - task_runners_->file_task_runner());
|
| - sandbox_backend_->AddFileChangeObserver(
|
| - kFileSystemTypeSyncable,
|
| - change_tracker_.get(),
|
| - task_runners_->file_task_runner());
|
| -}
|
| -
|
| -void FileSystemContext::set_sync_context(
|
| - sync_file_system::LocalFileSyncContext* sync_context) {
|
| - sync_context_ = sync_context;
|
| -}
|
| -
|
| FileSystemURL FileSystemContext::CrackURL(const GURL& url) const {
|
| return CrackFileSystemURL(FileSystemURL(url));
|
| }
|
| @@ -364,8 +352,6 @@ void FileSystemContext::EnableTemporaryFileSystemInIncognito() {
|
| #endif
|
|
|
| FileSystemContext::~FileSystemContext() {
|
| - task_runners_->file_task_runner()->DeleteSoon(
|
| - FROM_HERE, change_tracker_.release());
|
| }
|
|
|
| void FileSystemContext::DeleteOnCorrectThread() const {
|
|
|