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( |
kinuko
2013/07/22 05:51:19
Can you separate this change when you upload a pat
nhiroki
2013/07/22 06:33:38
Reverted those setter/getter related changes.
|
- 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 { |