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

Side by Side Diff: content/child/fileapi/file_system_dispatcher.cc

Issue 2480293004: Mandate unique_ptr for base::IDMap in IDMapOwnPointer mode. (Closed)
Patch Set: Make changes requested by danakj, fix a few more headers Created 4 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/child/fileapi/file_system_dispatcher.h" 5 #include "content/child/fileapi/file_system_dispatcher.h"
6 6
7 #include <memory>
8
7 #include "base/callback.h" 9 #include "base/callback.h"
8 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
9 #include "base/macros.h" 11 #include "base/macros.h"
10 #include "base/process/process.h" 12 #include "base/process/process.h"
11 #include "content/child/child_thread_impl.h" 13 #include "content/child/child_thread_impl.h"
12 #include "content/common/fileapi/file_system_messages.h" 14 #include "content/common/fileapi/file_system_messages.h"
13 #include "storage/common/fileapi/file_system_info.h" 15 #include "storage/common/fileapi/file_system_info.h"
14 16
15 namespace content { 17 namespace content {
16 18
17 class FileSystemDispatcher::CallbackDispatcher { 19 class FileSystemDispatcher::CallbackDispatcher {
18 public: 20 public:
19 typedef CallbackDispatcher self; 21 typedef CallbackDispatcher self;
20 typedef FileSystemDispatcher::StatusCallback StatusCallback; 22 typedef FileSystemDispatcher::StatusCallback StatusCallback;
21 typedef FileSystemDispatcher::MetadataCallback MetadataCallback; 23 typedef FileSystemDispatcher::MetadataCallback MetadataCallback;
22 typedef FileSystemDispatcher::ReadDirectoryCallback ReadDirectoryCallback; 24 typedef FileSystemDispatcher::ReadDirectoryCallback ReadDirectoryCallback;
23 typedef FileSystemDispatcher::OpenFileSystemCallback OpenFileSystemCallback; 25 typedef FileSystemDispatcher::OpenFileSystemCallback OpenFileSystemCallback;
24 typedef FileSystemDispatcher::ResolveURLCallback ResolveURLCallback; 26 typedef FileSystemDispatcher::ResolveURLCallback ResolveURLCallback;
25 typedef FileSystemDispatcher::WriteCallback WriteCallback; 27 typedef FileSystemDispatcher::WriteCallback WriteCallback;
26 typedef FileSystemDispatcher::OpenFileCallback OpenFileCallback; 28 typedef FileSystemDispatcher::OpenFileCallback OpenFileCallback;
27 29
28 static CallbackDispatcher* Create(const StatusCallback& callback) { 30 static std::unique_ptr<CallbackDispatcher> Create(
29 CallbackDispatcher* dispatcher = new CallbackDispatcher; 31 const StatusCallback& callback) {
32 auto dispatcher = base::WrapUnique(new CallbackDispatcher);
30 dispatcher->status_callback_ = callback; 33 dispatcher->status_callback_ = callback;
31 dispatcher->error_callback_ = callback; 34 dispatcher->error_callback_ = callback;
32 return dispatcher; 35 return dispatcher;
33 } 36 }
34 static CallbackDispatcher* Create(const MetadataCallback& callback, 37 static std::unique_ptr<CallbackDispatcher> Create(
35 const StatusCallback& error_callback) { 38 const MetadataCallback& callback,
36 CallbackDispatcher* dispatcher = new CallbackDispatcher; 39 const StatusCallback& error_callback) {
40 auto dispatcher = base::WrapUnique(new CallbackDispatcher);
37 dispatcher->metadata_callback_ = callback; 41 dispatcher->metadata_callback_ = callback;
38 dispatcher->error_callback_ = error_callback; 42 dispatcher->error_callback_ = error_callback;
39 return dispatcher; 43 return dispatcher;
40 } 44 }
41 static CallbackDispatcher* Create(const CreateSnapshotFileCallback& callback, 45 static std::unique_ptr<CallbackDispatcher> Create(
42 const StatusCallback& error_callback) { 46 const CreateSnapshotFileCallback& callback,
43 CallbackDispatcher* dispatcher = new CallbackDispatcher; 47 const StatusCallback& error_callback) {
48 auto dispatcher = base::WrapUnique(new CallbackDispatcher);
44 dispatcher->snapshot_callback_ = callback; 49 dispatcher->snapshot_callback_ = callback;
45 dispatcher->error_callback_ = error_callback; 50 dispatcher->error_callback_ = error_callback;
46 return dispatcher; 51 return dispatcher;
47 } 52 }
48 static CallbackDispatcher* Create(const ReadDirectoryCallback& callback, 53 static std::unique_ptr<CallbackDispatcher> Create(
49 const StatusCallback& error_callback) { 54 const ReadDirectoryCallback& callback,
50 CallbackDispatcher* dispatcher = new CallbackDispatcher; 55 const StatusCallback& error_callback) {
56 auto dispatcher = base::WrapUnique(new CallbackDispatcher);
51 dispatcher->directory_callback_ = callback; 57 dispatcher->directory_callback_ = callback;
52 dispatcher->error_callback_ = error_callback; 58 dispatcher->error_callback_ = error_callback;
53 return dispatcher; 59 return dispatcher;
54 } 60 }
55 static CallbackDispatcher* Create(const OpenFileSystemCallback& callback, 61 static std::unique_ptr<CallbackDispatcher> Create(
56 const StatusCallback& error_callback) { 62 const OpenFileSystemCallback& callback,
57 CallbackDispatcher* dispatcher = new CallbackDispatcher; 63 const StatusCallback& error_callback) {
64 auto dispatcher = base::WrapUnique(new CallbackDispatcher);
58 dispatcher->filesystem_callback_ = callback; 65 dispatcher->filesystem_callback_ = callback;
59 dispatcher->error_callback_ = error_callback; 66 dispatcher->error_callback_ = error_callback;
60 return dispatcher; 67 return dispatcher;
61 } 68 }
62 static CallbackDispatcher* Create(const ResolveURLCallback& callback, 69 static std::unique_ptr<CallbackDispatcher> Create(
63 const StatusCallback& error_callback) { 70 const ResolveURLCallback& callback,
64 CallbackDispatcher* dispatcher = new CallbackDispatcher; 71 const StatusCallback& error_callback) {
72 auto dispatcher = base::WrapUnique(new CallbackDispatcher);
65 dispatcher->resolve_callback_ = callback; 73 dispatcher->resolve_callback_ = callback;
66 dispatcher->error_callback_ = error_callback; 74 dispatcher->error_callback_ = error_callback;
67 return dispatcher; 75 return dispatcher;
68 } 76 }
69 static CallbackDispatcher* Create(const WriteCallback& callback, 77 static std::unique_ptr<CallbackDispatcher> Create(
70 const StatusCallback& error_callback) { 78 const WriteCallback& callback,
71 CallbackDispatcher* dispatcher = new CallbackDispatcher; 79 const StatusCallback& error_callback) {
80 auto dispatcher = base::WrapUnique(new CallbackDispatcher);
72 dispatcher->write_callback_ = callback; 81 dispatcher->write_callback_ = callback;
73 dispatcher->error_callback_ = error_callback; 82 dispatcher->error_callback_ = error_callback;
74 return dispatcher; 83 return dispatcher;
75 } 84 }
76 85
77 ~CallbackDispatcher() {} 86 ~CallbackDispatcher() {}
78 87
79 void DidSucceed() { 88 void DidSucceed() {
80 status_callback_.Run(base::File::FILE_OK); 89 status_callback_.Run(base::File::FILE_OK);
81 } 90 }
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 int64_t bytes, 403 int64_t bytes,
395 bool complete) { 404 bool complete) {
396 CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id); 405 CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
397 DCHECK(dispatcher); 406 DCHECK(dispatcher);
398 dispatcher->DidWrite(bytes, complete); 407 dispatcher->DidWrite(bytes, complete);
399 if (complete) 408 if (complete)
400 dispatchers_.Remove(request_id); 409 dispatchers_.Remove(request_id);
401 } 410 }
402 411
403 } // namespace content 412 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/quota_dispatcher_host.cc ('k') | content/child/notifications/notification_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698