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

Side by Side Diff: chrome/browser/file_system/browser_file_system_callback_dispatcher.cc

Issue 4821005: Make FileSystemOperation's lifetime more explicit. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: simple_file_writer fix Created 10 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/file_system/browser_file_system_callback_dispatcher.h"
6
7 #include "chrome/browser/file_system/file_system_dispatcher_host.h"
8 #include "chrome/common/render_messages.h"
9
10 BrowserFileSystemCallbackDispatcher::BrowserFileSystemCallbackDispatcher(
11 FileSystemDispatcherHost* dispatcher_host, int request_id)
12 : dispatcher_host_(dispatcher_host),
13 request_id_(request_id) {
14 DCHECK(dispatcher_host_);
15 }
16
17 BrowserFileSystemCallbackDispatcher::~BrowserFileSystemCallbackDispatcher() {}
18
19 void BrowserFileSystemCallbackDispatcher::DidSucceed() {
20 dispatcher_host_->Send(new ViewMsg_FileSystem_DidSucceed(request_id_));
21 dispatcher_host_->RemoveCompletedOperation(request_id_);
22 }
23
24 void BrowserFileSystemCallbackDispatcher::DidReadMetadata(
25 const base::PlatformFileInfo& info) {
26 dispatcher_host_->Send(new ViewMsg_FileSystem_DidReadMetadata(
27 request_id_, info));
28 dispatcher_host_->RemoveCompletedOperation(request_id_);
29 }
30
31 void BrowserFileSystemCallbackDispatcher::DidReadDirectory(
32 const std::vector<base::FileUtilProxy::Entry>& entries, bool has_more) {
33 dispatcher_host_->Send(new ViewMsg_FileSystem_DidReadDirectory(
34 request_id_, entries, has_more));
35 dispatcher_host_->RemoveCompletedOperation(request_id_);
36 }
37
38 void BrowserFileSystemCallbackDispatcher::DidOpenFileSystem(
39 const std::string& name, const FilePath& path) {
40 dispatcher_host_->Send(
41 new ViewMsg_OpenFileSystemRequest_Complete(
42 request_id_, !path.empty(), name, path));
43 dispatcher_host_->RemoveCompletedOperation(request_id_);
44 }
45
46 void BrowserFileSystemCallbackDispatcher::DidFail(
47 base::PlatformFileError error_code) {
48 dispatcher_host_->Send(new ViewMsg_FileSystem_DidFail(
49 request_id_, error_code));
50 dispatcher_host_->RemoveCompletedOperation(request_id_);
51 }
52
53 void BrowserFileSystemCallbackDispatcher::DidWrite(
54 int64 bytes,
55 bool complete) {
56 dispatcher_host_->Send(new ViewMsg_FileSystem_DidWrite(
57 request_id_, bytes, complete));
58 if (complete)
59 dispatcher_host_->RemoveCompletedOperation(request_id_);
60 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698