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

Unified Diff: chrome/browser/file_system/file_system_dispatcher_host.cc

Issue 6586001: Move appcache/file_sytem/device_orientation subdirectories of chrome\browser ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 9 years, 10 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: chrome/browser/file_system/file_system_dispatcher_host.cc
===================================================================
--- chrome/browser/file_system/file_system_dispatcher_host.cc (revision 75978)
+++ chrome/browser/file_system/file_system_dispatcher_host.cc (working copy)
@@ -1,250 +0,0 @@
-// Copyright (c) 2010 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 "chrome/browser/file_system/file_system_dispatcher_host.h"
-
-#include <string>
-#include <vector>
-
-#include "base/file_path.h"
-#include "base/threading/thread.h"
-#include "base/time.h"
-#include "chrome/browser/content_settings/host_content_settings_map.h"
-#include "chrome/browser/net/chrome_url_request_context.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/renderer_host/browser_render_process_host.h"
-#include "chrome/common/net/url_request_context_getter.h"
-#include "chrome/common/render_messages.h"
-#include "chrome/common/render_messages_params.h"
-#include "googleurl/src/gurl.h"
-#include "net/url_request/url_request_context.h"
-#include "webkit/fileapi/file_system_callback_dispatcher.h"
-#include "webkit/fileapi/file_system_context.h"
-#include "webkit/fileapi/file_system_operation.h"
-#include "webkit/fileapi/file_system_operation.h"
-#include "webkit/fileapi/file_system_path_manager.h"
-#include "webkit/fileapi/file_system_quota_manager.h"
-
-using fileapi::FileSystemCallbackDispatcher;
-using fileapi::FileSystemOperation;
-using fileapi::FileSystemQuotaManager;
-
-class BrowserFileSystemCallbackDispatcher
- : public FileSystemCallbackDispatcher {
- public:
- BrowserFileSystemCallbackDispatcher(
- FileSystemDispatcherHost* dispatcher_host, int request_id)
- : dispatcher_host_(dispatcher_host),
- request_id_(request_id) {
- DCHECK(dispatcher_host_);
- }
-
- virtual ~BrowserFileSystemCallbackDispatcher() {
- dispatcher_host_->UnregisterOperation(request_id_);
- }
-
- virtual void DidSucceed() {
- dispatcher_host_->Send(new ViewMsg_FileSystem_DidSucceed(request_id_));
- }
-
- virtual void DidReadMetadata(const base::PlatformFileInfo& info) {
- dispatcher_host_->Send(new ViewMsg_FileSystem_DidReadMetadata(
- request_id_, info));
- }
-
- virtual void DidReadDirectory(
- const std::vector<base::FileUtilProxy::Entry>& entries, bool has_more) {
- dispatcher_host_->Send(new ViewMsg_FileSystem_DidReadDirectory(
- request_id_, entries, has_more));
- }
-
- virtual void DidOpenFileSystem(const std::string& name,
- const FilePath& path) {
- dispatcher_host_->Send(
- new ViewMsg_OpenFileSystemRequest_Complete(
- request_id_, !path.empty(), name, path));
- }
-
- virtual void DidFail(base::PlatformFileError error_code) {
- dispatcher_host_->Send(new ViewMsg_FileSystem_DidFail(
- request_id_, error_code));
- }
-
- virtual void DidWrite(int64 bytes, bool complete) {
- dispatcher_host_->Send(new ViewMsg_FileSystem_DidWrite(
- request_id_, bytes, complete));
- }
-
- private:
- scoped_refptr<FileSystemDispatcherHost> dispatcher_host_;
- int request_id_;
-};
-
-FileSystemDispatcherHost::FileSystemDispatcherHost(Profile* profile)
- : context_(profile->GetFileSystemContext()),
- host_content_settings_map_(profile->GetHostContentSettingsMap()),
- request_context_getter_(profile->GetRequestContext()) {
-}
-
-FileSystemDispatcherHost::FileSystemDispatcherHost(
- ChromeURLRequestContext* context)
- : context_(context->file_system_context()),
- host_content_settings_map_(context->host_content_settings_map()),
- request_context_(context) {
-}
-
-FileSystemDispatcherHost::~FileSystemDispatcherHost() {
-}
-
-void FileSystemDispatcherHost::OnChannelConnected(int32 peer_pid) {
- BrowserMessageFilter::OnChannelConnected(peer_pid);
-
- if (request_context_getter_.get()) {
- DCHECK(!request_context_.get());
- request_context_ = request_context_getter_->GetURLRequestContext();
- }
- DCHECK(request_context_.get());
-}
-
-bool FileSystemDispatcherHost::OnMessageReceived(
- const IPC::Message& message, bool* message_was_ok) {
- *message_was_ok = true;
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP_EX(FileSystemDispatcherHost, message, *message_was_ok)
- IPC_MESSAGE_HANDLER(ViewHostMsg_OpenFileSystemRequest, OnOpenFileSystem)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_Move, OnMove)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_Copy, OnCopy)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_Remove, OnRemove)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_ReadMetadata, OnReadMetadata)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_Create, OnCreate)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_Exists, OnExists)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_ReadDirectory, OnReadDirectory)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_Write, OnWrite)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_Truncate, OnTruncate)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_TouchFile, OnTouchFile)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FileSystem_CancelWrite, OnCancel)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP_EX()
- return handled;
-}
-
-void FileSystemDispatcherHost::OnOpenFileSystem(
- int request_id, const GURL& origin_url, fileapi::FileSystemType type,
- int64 requested_size, bool create) {
- ContentSetting content_setting =
- host_content_settings_map_->GetContentSetting(
- origin_url, CONTENT_SETTINGS_TYPE_COOKIES, "");
- DCHECK((content_setting == CONTENT_SETTING_ALLOW) ||
- (content_setting == CONTENT_SETTING_BLOCK) ||
- (content_setting == CONTENT_SETTING_SESSION_ONLY));
- if (content_setting == CONTENT_SETTING_BLOCK) {
- // TODO(kinuko): Need to notify the UI thread to indicate that
- // there's a blocked content.
- Send(new ViewMsg_OpenFileSystemRequest_Complete(
- request_id, false, std::string(), FilePath()));
- return;
- }
-
- GetNewOperation(request_id)->OpenFileSystem(origin_url, type, create);
-}
-
-void FileSystemDispatcherHost::OnMove(
- int request_id, const FilePath& src_path, const FilePath& dest_path) {
- GetNewOperation(request_id)->Move(src_path, dest_path);
-}
-
-void FileSystemDispatcherHost::OnCopy(
- int request_id, const FilePath& src_path, const FilePath& dest_path) {
- GetNewOperation(request_id)->Copy(src_path, dest_path);
-}
-
-void FileSystemDispatcherHost::OnRemove(
- int request_id, const FilePath& path, bool recursive) {
- GetNewOperation(request_id)->Remove(path, recursive);
-}
-
-void FileSystemDispatcherHost::OnReadMetadata(
- int request_id, const FilePath& path) {
- GetNewOperation(request_id)->GetMetadata(path);
-}
-
-void FileSystemDispatcherHost::OnCreate(
- int request_id, const FilePath& path, bool exclusive,
- bool is_directory, bool recursive) {
- if (is_directory)
- GetNewOperation(request_id)->CreateDirectory(path, exclusive, recursive);
- else
- GetNewOperation(request_id)->CreateFile(path, exclusive);
-}
-
-void FileSystemDispatcherHost::OnExists(
- int request_id, const FilePath& path, bool is_directory) {
- if (is_directory)
- GetNewOperation(request_id)->DirectoryExists(path);
- else
- GetNewOperation(request_id)->FileExists(path);
-}
-
-void FileSystemDispatcherHost::OnReadDirectory(
- int request_id, const FilePath& path) {
- GetNewOperation(request_id)->ReadDirectory(path);
-}
-
-void FileSystemDispatcherHost::OnWrite(
- int request_id,
- const FilePath& path,
- const GURL& blob_url,
- int64 offset) {
- GetNewOperation(request_id)->Write(
- request_context_, path, blob_url, offset);
-}
-
-void FileSystemDispatcherHost::OnTruncate(
- int request_id,
- const FilePath& path,
- int64 length) {
- GetNewOperation(request_id)->Truncate(path, length);
-}
-
-void FileSystemDispatcherHost::OnTouchFile(
- int request_id,
- const FilePath& path,
- const base::Time& last_access_time,
- const base::Time& last_modified_time) {
- GetNewOperation(request_id)->TouchFile(
- path, last_access_time, last_modified_time);
-}
-
-void FileSystemDispatcherHost::OnCancel(
- int request_id,
- int request_id_to_cancel) {
- FileSystemOperation* write = operations_.Lookup(
- request_id_to_cancel);
- if (write) {
- // The cancel will eventually send both the write failure and the cancel
- // success.
- write->Cancel(GetNewOperation(request_id));
- } else {
- // The write already finished; report that we failed to stop it.
- Send(new ViewMsg_FileSystem_DidFail(
- request_id, base::PLATFORM_FILE_ERROR_INVALID_OPERATION));
- }
-}
-
-FileSystemOperation* FileSystemDispatcherHost::GetNewOperation(
- int request_id) {
- BrowserFileSystemCallbackDispatcher* dispatcher =
- new BrowserFileSystemCallbackDispatcher(this, request_id);
- FileSystemOperation* operation = new FileSystemOperation(
- dispatcher,
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE),
- context_);
- operations_.AddWithID(operation, request_id);
- return operation;
-}
-
-void FileSystemDispatcherHost::UnregisterOperation(int request_id) {
- DCHECK(operations_.Lookup(request_id));
- operations_.Remove(request_id);
-}
« no previous file with comments | « chrome/browser/file_system/file_system_dispatcher_host.h ('k') | chrome/browser/net/chrome_url_request_context.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698