Index: webkit/browser/fileapi/sandbox_file_system_backend.cc |
diff --git a/webkit/browser/fileapi/sandbox_file_system_backend.cc b/webkit/browser/fileapi/sandbox_file_system_backend.cc |
index 1c034c9021c5725b7ae89a5201f3897673ce36f2..6fbc43ffaf8ea6660d126eb44833cda248723355 100644 |
--- a/webkit/browser/fileapi/sandbox_file_system_backend.cc |
+++ b/webkit/browser/fileapi/sandbox_file_system_backend.cc |
@@ -64,7 +64,6 @@ enum FileSystemError { |
const char kTemporaryOriginsCountLabel[] = "FileSystem.TemporaryOriginsCount"; |
const char kPersistentOriginsCountLabel[] = "FileSystem.PersistentOriginsCount"; |
-const char kSyncableOriginsCountLabel[] = "FileSystem.SyncableOriginsCount"; |
// Restricted names. |
// http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#naming-restrictions |
@@ -98,11 +97,11 @@ class ObfuscatedOriginEnumerator |
}; |
void DidOpenFileSystem( |
- base::WeakPtr<SandboxFileSystemBackend> mount_point_provider, |
+ base::WeakPtr<SandboxFileSystemBackend> file_system_backend, |
const base::Callback<void(base::PlatformFileError error)>& callback, |
base::PlatformFileError* error) { |
- if (mount_point_provider.get()) |
- mount_point_provider.get()->CollectOpenFileSystemMetrics(*error); |
+ if (file_system_backend.get()) |
+ file_system_backend.get()->CollectOpenFileSystemMetrics(*error); |
callback.Run(*error); |
} |
@@ -134,29 +133,32 @@ void OpenFileSystemOnFileThread( |
SandboxFileSystemBackend::SandboxFileSystemBackend( |
SandboxContext* sandbox_context, |
+ base::SequencedTaskRunner* file_task_runner, |
const FileSystemOptions& file_system_options) |
- : file_system_options_(file_system_options), |
+ : file_task_runner_(file_task_runner), |
kinuko
2013/07/17 15:01:30
Why does this need to be passed separately in this
kinuko
2013/07/17 15:02:59
I mean, it used to be passed via sandbox_context b
nhiroki
2013/07/22 04:34:14
This is because that SyncFileSystemBackend::set_ch
nhiroki
2013/07/22 06:33:38
Pushed file_task_runner into SandboxContext again.
|
+ file_system_options_(file_system_options), |
sandbox_context_(sandbox_context), |
enable_temporary_file_system_in_incognito_(false), |
enable_usage_tracking_( |
!CommandLine::ForCurrentProcess()->HasSwitch( |
kDisableUsageTracking)), |
weak_factory_(this) { |
+ // SyncFileSystemBackend is instantiated with null context. |
+ if (!sandbox_context) |
+ return; |
+ |
// Set quota observers. |
if (enable_usage_tracking_) { |
update_observers_ = update_observers_.AddObserver( |
- sandbox_context_->quota_observer(), |
- sandbox_context_->file_task_runner()); |
+ sandbox_context_->quota_observer(), file_task_runner_.get()); |
access_observers_ = access_observers_.AddObserver( |
sandbox_context_->quota_observer(), NULL); |
} |
- syncable_update_observers_ = update_observers_; |
- |
- if (!sandbox_context_->file_task_runner()->RunsTasksOnCurrentThread()) { |
+ if (!file_task_runner->RunsTasksOnCurrentThread()) { |
// Post prepopulate task only if it's not already running on |
// file_task_runner (which implies running in tests). |
- sandbox_context_->file_task_runner()->PostTask( |
+ file_task_runner->PostTask( |
FROM_HERE, |
base::Bind(&ObfuscatedFileUtil::MaybePrepopulateDatabase, |
base::Unretained(sandbox_sync_file_util()))); |
@@ -168,9 +170,7 @@ SandboxFileSystemBackend::~SandboxFileSystemBackend() { |
bool SandboxFileSystemBackend::CanHandleType(FileSystemType type) const { |
return type == kFileSystemTypeTemporary || |
- type == kFileSystemTypePersistent || |
- type == kFileSystemTypeSyncable || |
- type == kFileSystemTypeSyncableForInternalSync; |
+ type == kFileSystemTypePersistent; |
} |
void SandboxFileSystemBackend::InitializeFileSystem( |
@@ -206,7 +206,7 @@ void SandboxFileSystemBackend::InitializeFileSystem( |
std::string name = GetFileSystemName(origin_url, type); |
base::PlatformFileError* error_ptr = new base::PlatformFileError; |
- sandbox_context_->file_task_runner()->PostTaskAndReply( |
+ file_task_runner_->PostTaskAndReply( |
FROM_HERE, |
base::Bind(&OpenFileSystemOnFileThread, |
sandbox_sync_file_util(), |
@@ -222,20 +222,22 @@ void SandboxFileSystemBackend::InitializeFileSystem( |
// Schedule full usage recalculation on the next launch without |
// --disable-file-system-usage-tracking. |
- sandbox_context_->file_task_runner()->PostTask( |
+ file_task_runner_->PostTask( |
FROM_HERE, |
base::Bind(&SandboxFileSystemBackend::InvalidateUsageCacheOnFileThread, |
sandbox_sync_file_util(), origin_url, type, usage_cache())); |
}; |
FileSystemFileUtil* SandboxFileSystemBackend::GetFileUtil( |
- FileSystemType type) { |
+ FileSystemType type, |
+ const FileSystemContext* context) { |
DCHECK(sandbox_context_); |
return sandbox_context_->sync_file_util(); |
} |
AsyncFileUtil* SandboxFileSystemBackend::GetAsyncFileUtil( |
- FileSystemType type) { |
+ FileSystemType type, |
+ const FileSystemContext* context) { |
DCHECK(sandbox_context_); |
return sandbox_context_->file_util(); |
} |
@@ -260,16 +262,6 @@ FileSystemOperation* SandboxFileSystemBackend::CreateFileSystemOperation( |
scoped_ptr<FileSystemOperationContext> operation_context( |
new FileSystemOperationContext(context)); |
- |
- // Copy the observer lists (assuming we only have small number of observers). |
- if (url.type() == kFileSystemTypeSyncable) { |
- operation_context->set_update_observers(syncable_update_observers_); |
- operation_context->set_change_observers(syncable_change_observers_); |
- return new sync_file_system::SyncableFileSystemOperation( |
- url, context, operation_context.Pass()); |
- } |
- |
- // For regular sandboxed types. |
operation_context->set_update_observers(update_observers_); |
operation_context->set_change_observers(change_observers_); |
@@ -367,9 +359,6 @@ void SandboxFileSystemBackend::GetOriginsForTypeOnFileThread( |
case kFileSystemTypePersistent: |
UMA_HISTOGRAM_COUNTS(kPersistentOriginsCountLabel, origins->size()); |
break; |
- case kFileSystemTypeSyncable: |
- UMA_HISTOGRAM_COUNTS(kSyncableOriginsCountLabel, origins->size()); |
- break; |
default: |
break; |
} |
@@ -458,8 +447,6 @@ void SandboxFileSystemBackend::AddFileUpdateObserver( |
base::SequencedTaskRunner* task_runner) { |
DCHECK(CanHandleType(type)); |
UpdateObserverList* list = &update_observers_; |
- if (type == kFileSystemTypeSyncable) |
- list = &syncable_update_observers_; |
*list = list->AddObserver(observer, task_runner); |
} |
@@ -469,8 +456,6 @@ void SandboxFileSystemBackend::AddFileChangeObserver( |
base::SequencedTaskRunner* task_runner) { |
DCHECK(CanHandleType(type)); |
ChangeObserverList* list = &change_observers_; |
- if (type == kFileSystemTypeSyncable) |
- list = &syncable_change_observers_; |
*list = list->AddObserver(observer, task_runner); |
} |
@@ -485,16 +470,12 @@ void SandboxFileSystemBackend::AddFileAccessObserver( |
const UpdateObserverList* SandboxFileSystemBackend::GetUpdateObservers( |
FileSystemType type) const { |
DCHECK(CanHandleType(type)); |
- if (type == kFileSystemTypeSyncable) |
- return &syncable_update_observers_; |
return &update_observers_; |
} |
const ChangeObserverList* SandboxFileSystemBackend::GetChangeObservers( |
FileSystemType type) const { |
DCHECK(CanHandleType(type)); |
- if (type == kFileSystemTypeSyncable) |
- return &syncable_change_observers_; |
return &change_observers_; |
} |