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

Unified Diff: content/common/fileapi/file_system_dispatcher.cc

Issue 16328003: Move a bunch of child-only code from content/common to content/child (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 6 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
« no previous file with comments | « content/common/fileapi/file_system_dispatcher.h ('k') | content/common/gpu/DEPS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/fileapi/file_system_dispatcher.cc
diff --git a/content/common/fileapi/file_system_dispatcher.cc b/content/common/fileapi/file_system_dispatcher.cc
deleted file mode 100644
index 1b196646635e6d7f67d04eb3383a7356117e0543..0000000000000000000000000000000000000000
--- a/content/common/fileapi/file_system_dispatcher.cc
+++ /dev/null
@@ -1,468 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/common/fileapi/file_system_dispatcher.h"
-
-#include "base/callback.h"
-#include "base/file_util.h"
-#include "base/process.h"
-#include "content/common/child_thread.h"
-#include "content/common/fileapi/file_system_messages.h"
-
-namespace content {
-
-class FileSystemDispatcher::CallbackDispatcher {
- public:
- typedef CallbackDispatcher self;
- typedef FileSystemDispatcher::StatusCallback StatusCallback;
- typedef FileSystemDispatcher::MetadataCallback MetadataCallback;
- typedef FileSystemDispatcher::ReadDirectoryCallback ReadDirectoryCallback;
- typedef FileSystemDispatcher::OpenFileSystemCallback OpenFileSystemCallback;
- typedef FileSystemDispatcher::WriteCallback WriteCallback;
- typedef FileSystemDispatcher::OpenFileCallback OpenFileCallback;
-
- static CallbackDispatcher* Create(const StatusCallback& callback) {
- CallbackDispatcher* dispatcher = new CallbackDispatcher;
- dispatcher->status_callback_ = callback;
- dispatcher->error_callback_ = callback;
- return dispatcher;
- }
- static CallbackDispatcher* Create(const MetadataCallback& callback,
- const StatusCallback& error_callback) {
- CallbackDispatcher* dispatcher = new CallbackDispatcher;
- dispatcher->metadata_callback_ = callback;
- dispatcher->error_callback_ = error_callback;
- return dispatcher;
- }
- static CallbackDispatcher* Create(const ReadDirectoryCallback& callback,
- const StatusCallback& error_callback) {
- CallbackDispatcher* dispatcher = new CallbackDispatcher;
- dispatcher->directory_callback_ = callback;
- dispatcher->error_callback_ = error_callback;
- return dispatcher;
- }
- static CallbackDispatcher* Create(const OpenFileSystemCallback& callback,
- const StatusCallback& error_callback) {
- CallbackDispatcher* dispatcher = new CallbackDispatcher;
- dispatcher->filesystem_callback_ = callback;
- dispatcher->error_callback_ = error_callback;
- return dispatcher;
- }
- static CallbackDispatcher* Create(const WriteCallback& callback,
- const StatusCallback& error_callback) {
- CallbackDispatcher* dispatcher = new CallbackDispatcher;
- dispatcher->write_callback_ = callback;
- dispatcher->error_callback_ = error_callback;
- return dispatcher;
- }
- static CallbackDispatcher* Create(const OpenFileCallback& callback,
- const StatusCallback& error_callback) {
- CallbackDispatcher* dispatcher = new CallbackDispatcher;
- dispatcher->open_callback_ = callback;
- dispatcher->error_callback_ = error_callback;
- return dispatcher;
- }
-
- ~CallbackDispatcher() {}
-
- void DidSucceed() {
- status_callback_.Run(base::PLATFORM_FILE_OK);
- }
-
- void DidFail(base::PlatformFileError error_code) {
- error_callback_.Run(error_code);
- }
-
- void DidReadMetadata(
- const base::PlatformFileInfo& file_info,
- const base::FilePath& platform_path) {
- metadata_callback_.Run(file_info, platform_path);
- }
-
- void DidCreateSnapshotFile(
- const base::PlatformFileInfo& file_info,
- const base::FilePath& platform_path) {
- metadata_callback_.Run(file_info, platform_path);
- }
-
- void DidReadDirectory(
- const std::vector<fileapi::DirectoryEntry>& entries,
- bool has_more) {
- directory_callback_.Run(entries, has_more);
- }
-
- void DidOpenFileSystem(const std::string& name,
- const GURL& root) {
- filesystem_callback_.Run(name, root);
- }
-
- void DidWrite(int64 bytes, bool complete) {
- write_callback_.Run(bytes, complete);
- }
-
- void DidOpenFile(base::PlatformFile file,
- int file_open_id,
- quota::QuotaLimitType quota_policy) {
- open_callback_.Run(file, file_open_id, quota_policy);
- }
-
- private:
- CallbackDispatcher() {}
-
- StatusCallback status_callback_;
- MetadataCallback metadata_callback_;
- ReadDirectoryCallback directory_callback_;
- OpenFileSystemCallback filesystem_callback_;
- WriteCallback write_callback_;
- OpenFileCallback open_callback_;
-
- StatusCallback error_callback_;
-
- DISALLOW_COPY_AND_ASSIGN(CallbackDispatcher);
-};
-
-FileSystemDispatcher::FileSystemDispatcher() {
-}
-
-FileSystemDispatcher::~FileSystemDispatcher() {
- // Make sure we fire all the remaining callbacks.
- for (IDMap<CallbackDispatcher, IDMapOwnPointer>::iterator
- iter(&dispatchers_); !iter.IsAtEnd(); iter.Advance()) {
- int request_id = iter.GetCurrentKey();
- CallbackDispatcher* dispatcher = iter.GetCurrentValue();
- DCHECK(dispatcher);
- dispatcher->DidFail(base::PLATFORM_FILE_ERROR_ABORT);
- dispatchers_.Remove(request_id);
- }
-}
-
-bool FileSystemDispatcher::OnMessageReceived(const IPC::Message& msg) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(FileSystemDispatcher, msg)
- IPC_MESSAGE_HANDLER(FileSystemMsg_DidOpenFileSystem, OnDidOpenFileSystem)
- IPC_MESSAGE_HANDLER(FileSystemMsg_DidSucceed, OnDidSucceed)
- IPC_MESSAGE_HANDLER(FileSystemMsg_DidReadDirectory, OnDidReadDirectory)
- IPC_MESSAGE_HANDLER(FileSystemMsg_DidReadMetadata, OnDidReadMetadata)
- IPC_MESSAGE_HANDLER(FileSystemMsg_DidCreateSnapshotFile,
- OnDidCreateSnapshotFile)
- IPC_MESSAGE_HANDLER(FileSystemMsg_DidFail, OnDidFail)
- IPC_MESSAGE_HANDLER(FileSystemMsg_DidWrite, OnDidWrite)
- IPC_MESSAGE_HANDLER(FileSystemMsg_DidOpenFile, OnDidOpenFile)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-}
-
-bool FileSystemDispatcher::OpenFileSystem(
- const GURL& origin_url, fileapi::FileSystemType type,
- long long size, bool create,
- const OpenFileSystemCallback& success_callback,
- const StatusCallback& error_callback) {
- int request_id = dispatchers_.Add(
- CallbackDispatcher::Create(success_callback, error_callback));
- if (!ChildThread::current()->Send(new FileSystemHostMsg_Open(
- request_id, origin_url, type, size, create))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::DeleteFileSystem(
- const GURL& origin_url,
- fileapi::FileSystemType type,
- const StatusCallback& callback) {
- int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
- if (!ChildThread::current()->Send(new FileSystemHostMsg_DeleteFileSystem(
- request_id, origin_url, type))) {
- dispatchers_.Remove(request_id);
- return false;
- }
- return true;
-}
-
-bool FileSystemDispatcher::Move(
- const GURL& src_path,
- const GURL& dest_path,
- const StatusCallback& callback) {
- int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
- if (!ChildThread::current()->Send(new FileSystemHostMsg_Move(
- request_id, src_path, dest_path))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::Copy(
- const GURL& src_path,
- const GURL& dest_path,
- const StatusCallback& callback) {
- int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
- if (!ChildThread::current()->Send(new FileSystemHostMsg_Copy(
- request_id, src_path, dest_path))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::Remove(
- const GURL& path,
- bool recursive,
- const StatusCallback& callback) {
- int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
- if (!ChildThread::current()->Send(
- new FileSystemMsg_Remove(request_id, path, recursive))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::ReadMetadata(
- const GURL& path,
- const MetadataCallback& success_callback,
- const StatusCallback& error_callback) {
- int request_id = dispatchers_.Add(
- CallbackDispatcher::Create(success_callback, error_callback));
- if (!ChildThread::current()->Send(
- new FileSystemHostMsg_ReadMetadata(request_id, path))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::Create(
- const GURL& path,
- bool exclusive,
- bool is_directory,
- bool recursive,
- const StatusCallback& callback) {
- int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
- if (!ChildThread::current()->Send(new FileSystemHostMsg_Create(
- request_id, path, exclusive, is_directory, recursive))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::Exists(
- const GURL& path,
- bool is_directory,
- const StatusCallback& callback) {
- int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
- if (!ChildThread::current()->Send(
- new FileSystemHostMsg_Exists(request_id, path, is_directory))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::ReadDirectory(
- const GURL& path,
- const ReadDirectoryCallback& success_callback,
- const StatusCallback& error_callback) {
- int request_id = dispatchers_.Add(
- CallbackDispatcher::Create(success_callback, error_callback));
- if (!ChildThread::current()->Send(
- new FileSystemHostMsg_ReadDirectory(request_id, path))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::Truncate(
- const GURL& path,
- int64 offset,
- int* request_id_out,
- const StatusCallback& callback) {
- int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
- if (!ChildThread::current()->Send(
- new FileSystemHostMsg_Truncate(request_id, path, offset))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- if (request_id_out)
- *request_id_out = request_id;
- return true;
-}
-
-bool FileSystemDispatcher::Write(
- const GURL& path,
- const GURL& blob_url,
- int64 offset,
- int* request_id_out,
- const WriteCallback& success_callback,
- const StatusCallback& error_callback) {
- int request_id = dispatchers_.Add(
- CallbackDispatcher::Create(success_callback, error_callback));
- if (!ChildThread::current()->Send(
- new FileSystemHostMsg_Write(request_id, path, blob_url, offset))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- if (request_id_out)
- *request_id_out = request_id;
- return true;
-}
-
-bool FileSystemDispatcher::Cancel(
- int request_id_to_cancel,
- const StatusCallback& callback) {
- int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
- if (!ChildThread::current()->Send(new FileSystemHostMsg_CancelWrite(
- request_id, request_id_to_cancel))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::TouchFile(
- const GURL& path,
- const base::Time& last_access_time,
- const base::Time& last_modified_time,
- const StatusCallback& callback) {
- int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
- if (!ChildThread::current()->Send(
- new FileSystemHostMsg_TouchFile(
- request_id, path, last_access_time, last_modified_time))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::OpenFile(
- const GURL& file_path,
- int file_flags,
- const OpenFileCallback& success_callback,
- const StatusCallback& error_callback) {
- int request_id = dispatchers_.Add(
- CallbackDispatcher::Create(success_callback, error_callback));
- if (!ChildThread::current()->Send(
- new FileSystemHostMsg_OpenFile(
- request_id, file_path, file_flags))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
-
- return true;
-}
-
-bool FileSystemDispatcher::NotifyCloseFile(int file_open_id) {
- return ChildThread::current()->Send(
- new FileSystemHostMsg_NotifyCloseFile(file_open_id));
-}
-
-bool FileSystemDispatcher::CreateSnapshotFile(
- const GURL& file_path,
- const CreateSnapshotFileCallback& success_callback,
- const StatusCallback& error_callback) {
- int request_id = dispatchers_.Add(
- CallbackDispatcher::Create(success_callback, error_callback));
- if (!ChildThread::current()->Send(
- new FileSystemHostMsg_CreateSnapshotFile(
- request_id, file_path))) {
- dispatchers_.Remove(request_id); // destroys |dispatcher|
- return false;
- }
- return true;
-}
-
-void FileSystemDispatcher::OnDidOpenFileSystem(int request_id,
- const std::string& name,
- const GURL& root) {
- DCHECK(root.is_valid());
- CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
- DCHECK(dispatcher);
- dispatcher->DidOpenFileSystem(name, root);
- dispatchers_.Remove(request_id);
-}
-
-void FileSystemDispatcher::OnDidSucceed(int request_id) {
- CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
- DCHECK(dispatcher);
- dispatcher->DidSucceed();
- dispatchers_.Remove(request_id);
-}
-
-void FileSystemDispatcher::OnDidReadMetadata(
- int request_id, const base::PlatformFileInfo& file_info,
- const base::FilePath& platform_path) {
- CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
- DCHECK(dispatcher);
- dispatcher->DidReadMetadata(file_info, platform_path);
- dispatchers_.Remove(request_id);
-}
-
-void FileSystemDispatcher::OnDidCreateSnapshotFile(
- int request_id, const base::PlatformFileInfo& file_info,
- const base::FilePath& platform_path) {
- CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
- DCHECK(dispatcher);
- dispatcher->DidCreateSnapshotFile(file_info, platform_path);
- dispatchers_.Remove(request_id);
- ChildThread::current()->Send(
- new FileSystemHostMsg_DidReceiveSnapshotFile(request_id));
-}
-
-void FileSystemDispatcher::OnDidReadDirectory(
- int request_id,
- const std::vector<fileapi::DirectoryEntry>& entries,
- bool has_more) {
- CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
- DCHECK(dispatcher);
- dispatcher->DidReadDirectory(entries, has_more);
- dispatchers_.Remove(request_id);
-}
-
-void FileSystemDispatcher::OnDidFail(
- int request_id, base::PlatformFileError error_code) {
- CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
- DCHECK(dispatcher);
- dispatcher->DidFail(error_code);
- dispatchers_.Remove(request_id);
-}
-
-void FileSystemDispatcher::OnDidWrite(
- int request_id, int64 bytes, bool complete) {
- CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
- DCHECK(dispatcher);
- dispatcher->DidWrite(bytes, complete);
- if (complete)
- dispatchers_.Remove(request_id);
-}
-
-void FileSystemDispatcher::OnDidOpenFile(
- int request_id,
- IPC::PlatformFileForTransit file,
- int file_open_id,
- quota::QuotaLimitType quota_policy) {
- CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
- DCHECK(dispatcher);
- dispatcher->DidOpenFile(IPC::PlatformFileForTransitToPlatformFile(file),
- file_open_id,
- quota_policy);
- dispatchers_.Remove(request_id);
-}
-
-} // namespace content
« no previous file with comments | « content/common/fileapi/file_system_dispatcher.h ('k') | content/common/gpu/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698