Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(838)

Unified Diff: webkit/browser/fileapi/file_system_context.cc

Issue 18668003: SyncFS: Introduce SyncFileSystemBackend (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 {

Powered by Google App Engine
This is Rietveld 408576698